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).
- Use ONE test order from start to finish; the other roles in the team use the same order.
- For every problem send: page, what you did, what you expected, what happened, screenshot.
- [upload] = only works after the latest local fixes are uploaded.
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.
- Log in as the company admin → Master Manage.
- Add Equipment (2), Mode Of Transport, Unit, Tax, Discount, Terms & Conditions.
- Add Customer Type and Carrier Type; check/add Lead Source, Lead Status, Followup Status, Quote Status, Tracing Status.
- Set the ID series (Order, Quote, Lead, Customer, Carrier): prefix and start number.
- Currency: set the rate for your currency → Update (needed before paying an expense).
- Add Expense Category, Vendor, Bank Master (one account number cannot be used twice inside a company).
- 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].
- HRM → Add User: a staff user with the "Sales" role (password min 8; an email already used must show an error). Check User List.
- CRM → Customer and Carrier → Carrier List: the registered customer and carrier appear with the right email and phone.
- 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.
- Check: records show in lists, edit/delete work, duplicates are refused where they should be.
2. Lead and customer (shipment stage 3)
- CRM → Add Lead: name, company, email, phone, address → Save. Also try Bulk Upload Leads with a small file.
- Open the lead → add a Follow Up (status, date, note). Check Follow Up Leads, Missed Followups, Quotation Leads.
- 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].
- Customer List → Assign the customer to the staff user (needed for the "My Data" test).
3. Quotation and Load Board (shipment stage 5)
- 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].
- Quotation → Quotation List: change the status badge to Approved. Try Quote PDF and Send Email.
- Quotation → Approved Quotation List → Action → Send to Load Board.
- 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.
- Also test Quotation → Create Quotation (direct, without a customer request): customer, FTL/LTL, equipment, pickup + delivery, shipping details, charges/discount/tax, final price.
- The customer approves the price (customer role); then continue below.
4. Approve the bid and create the order (shipment stage 7)
- Load Board → Carrier Bids → open the carrier's bid → Approve. Approved Bids lists it.
- Load Board List → Action → Create Order (the customer must be a real Customer) – or Order → Create Order. Check it is prefilled → Save.
- Order → Order List and Pending Orders show the order.
5. Dispatch to the carrier (shipment stage 8)
- 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.
- Save. Order → Dispatch List shows it.
6. Delivery – what you check (shipment stage 9)
- Order → Tracing shows the carrier's updates; Delivered Orders shows the POD.
- 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)
- 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.
- Receive Payment – a part payment, then the rest. An amount bigger than the invoice must be refused [upload]. Status goes Partially Paid → Paid.
- Check the Paid list, receipt and Receivable Age.
8. Carrier invoice and payment (company pays the carrier, stage 11)
- Invoice → Carrier Invoice (A/P) → Invoice not received (delivered with POD): Receive Invoice (carrier invoice no. and amount).
- Make Payment (part, then full; over-payment refused). Check the Paid list and Payable Age.
9. Expenses (stage 12)
- Expenses → Add Expense (category, amount, invoice no.): a negative amount and a duplicate invoice number must be refused [upload].
- Add Vendor Expense, Expense List, Vendor Expense List.
- Paid Expenses → make the payment (needs the Currency rate from step 1).
10. Reports (stage 13)
- 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)
- Type another company's order / invoice id in the address bar → "not found".
- 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)
- 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].
- 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).
- Admin → Mass Email to a group that has only your own address: the campaign becomes "completed" and the email arrives.
- Admin → Order List → Cancel an order, and from Pending Orders; Repeat Order; Claim/Dispute Orders.
- 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].