Test flow – Company Admin

Your role: Company Admin

You run the whole shipment: set up the company, create the quotation, approve the bid, create and dispatch the order, invoice the customer, pay the carrier, and check the reports.

Start: The company admin can log in. A staff user, a customer and a carrier are registered (they log in for their own parts).
Whole shipment: Setup → Lead / Customer → RFQ → Quotation → Load Board bid → Order → Dispatch → Delivery (POD) → Customer invoice → Carrier invoice → Reports

1. Setup (shipment stage 1)

Creates master data, currency rates, staff roles and users; checks the new customer and carrier registrations.
  1. Log in as the company admin → Master Manage.
  2. Add Equipment (2), Mode Of Transport, Unit, Tax, Discount, Terms & Conditions.
  3. Add Customer Type and Carrier Type; check/add Lead Source, Lead Status, Followup Status, Quote Status, Tracing Status.
  4. Set the ID series (Order, Quote, Lead, Customer, Carrier): prefix and start number.
  5. Currency: set the rate for your currency → Update (needed before paying an expense).
  6. Add Expense Category, Vendor, Bank Master (one account number cannot be used twice inside a company).
  7. HRM → Role List → Add Role: "Sales" with some permissions, and for Users / Carriers / Expenses choose My Data; a second role "Manager" with All Data. Tick notification view in one role [upload].
  8. HRM → Add User: a staff user with the "Sales" role (password min 8; an email already used must show an error). Check User List.
  9. CRM → Customer and Carrier → Carrier List: the registered customer and carrier appear with the right email and phone.
  10. Carrier List → Edit the carrier: set Liability and Cargo Insurance End Dates in the FUTURE (otherwise dispatch says "Insurance is Expired"). Save, reopen – documents are still there.

2. Lead and customer (shipment stage 3)

  1. CRM → Add Lead: name, company, email, phone, address → Save. Also try Bulk Upload Leads with a small file.
  2. Open the lead → add a Follow Up (status, date, note). Check Follow Up Leads, Missed Followups, Quotation Leads.
  3. CRM → Customer → Add (or convert the lead): customer type, credit section, primary address; tick "same as primary address" for mailing – red errors disappear and state/city fill [upload].
  4. Customer List → Assign the customer to the staff user (needed for the "My Data" test).

3. Quotation and Load Board (shipment stage 5)

  1. Quotation → RFQ List → open the customer's request → Update Quote: set the price, tick Admin Approved, save (a request that is not approved goes back to the RFQ List, an approved one to the Quotation List) [upload].
  2. Quotation → Quotation List: change the status badge to Approved. Try Quote PDF and Send Email.
  3. Quotation → Approved Quotation List → Action → Send to Load Board.
  4. Load Board → Load Board List → Bid Limit: it is the maximum NUMBER of bids; save, reopen – the saved value shows [upload]. Set the days and Publish.
  5. Also test Quotation → Create Quotation (direct, without a customer request): customer, FTL/LTL, equipment, pickup + delivery, shipping details, charges/discount/tax, final price.
  6. The customer approves the price (customer role); then continue below.

4. Approve the bid and create the order (shipment stage 7)

  1. Load Board → Carrier Bids → open the carrier's bid → Approve. Approved Bids lists it.
  2. Load Board List → Action → Create Order (the customer must be a real Customer) – or Order → Create Order. Check it is prefilled → Save.
  3. Order → Order List and Pending Orders show the order.

5. Dispatch to the carrier (shipment stage 8)

  1. Order → Order List → Action → Dispatch: choose the carrier you approved, equipment, carrier rate (the bid amount), truck unit, trailer unit, PAPS/PARS, driver. Picking the carrier fills Contact, picking the driver fills the phone.
  2. Save. Order → Dispatch List shows it.

6. Delivery – what you check (shipment stage 9)

  1. Order → Tracing shows the carrier's updates; Delivered Orders shows the POD.
  2. If you tick Send Email on a tracing update: the customer gets the email and the carrier a separate copy [upload].

7. Customer invoice and payment (customer pays the company, stage 10)

  1. Invoice → Customer Invoice (A/R) → Invoice Not Sent: create / preview the invoice → tick it and Send Invoice (moves to Receivable). The email must reach the customer.
  2. Receive Payment – a part payment, then the rest. An amount bigger than the invoice must be refused [upload]. Status goes Partially Paid → Paid.
  3. Check the Paid list, receipt and Receivable Age.

8. Carrier invoice and payment (company pays the carrier, stage 11)

  1. Invoice → Carrier Invoice (A/P) → Invoice not received (delivered with POD): Receive Invoice (carrier invoice no. and amount).
  2. Make Payment (part, then full; over-payment refused). Check the Paid list and Payable Age.

9. Expenses (stage 12)

  1. Expenses → Add Expense (category, amount, invoice no.): a negative amount and a duplicate invoice number must be refused [upload].
  2. Add Vendor Expense, Expense List, Vendor Expense List.
  3. Paid Expenses → make the payment (needs the Currency rate from step 1).

10. Reports (stage 13)

  1. Reports: Order, Invoice, Quotation, Carrier Dispatch, Expense, Commission, Profitability, Accounts Receivable / Payable, All Revenue, Profit & Loss, Bids, Tax – totals must match your test order; try the filters and dates.

11. Isolation check – the most important one (stage 14)

  1. Type another company's order / invoice id in the address bar → "not found".
  2. Look at the lists of the staff user on My Data, a brand-new customer and a brand-new carrier (they are tested in their own flows); nothing of another company may appear anywhere.

12. Notifications, Mass Email and the rest (stage 15)

  1. Admin → Notifications: all company notifications with filters (For, Status, Type, dates, search) and normal Previous / Next links [upload]. A staff user with the permission sees it; without it "forbidden" [upload].
  2. The bell: after reading the last notification the list shows "No new notifications" and the dot hides. Admin pages do NOT refresh the bell by themselves (on purpose).
  3. Admin → Mass Email to a group that has only your own address: the campaign becomes "completed" and the email arrives.
  4. Admin → Order List → Cancel an order, and from Pending Orders; Repeat Order; Claim/Dispute Orders.
  5. Settings: General Setting (logo; foreign phone numbers are allowed); Admin Profile: an empty username must be refused [upload].

13. After each upload

Run route:clear and view:clear (and the migrations for the new permissions), then repeat only the steps marked [upload].

Sea Link – test flow for this role, taken from the combined software-flow document (FULL_TEST_FLOW.md). Numbers in brackets show where the step sits in the shipment.