Manual · Engineering
Manual12 min read

Reference

One lookup surface: the ledger boundary, the posting cheat sheet, every status machine, the role matrix and a glossary.

ForWorkspace ownerFinanceOperationsWarehouseSalesProcurementPort & containersFleet & dispatchAdministratorExecutive

Posting cheat sheet

Every automatic posting in the product, in one table. Amounts convert to base currency at the stored rate.

You doDebitsCredits
Receive goods (PO fulfil)1300 Inventory2050 GRNI
Record supplier invoice2050 GRNI + 2310 Input VAT2000 Accounts Payable
Pay supplier2000 Accounts Payable1000 Cash or 1010 Bank
Issue sales invoice1200 AR (gross)4000 Revenue (net) + 2300 Tax
Record customer receipt1000 Cash or 1010 Bank1200 AR
Issue demurrage invoice1200 AR4100 Demurrage Income
Adjust, transfer or fulfil stock— no journal —— no journal —
Trip expense5000 Operating Expenses1000 Cash
Driver advance1100 Driver Advance Receivable1000 Cash
Settlement — clear advances5000 Operating Expenses1100 Driver Advance Receivable
Settlement — net pay5000 Operating Expenses1000 Cash
Settlement — refund1000 Cash5000 Operating Expenses
Bank cashbook — credit entered1010 BankCounter account (default 9000 Suspense)
Bank cashbook — debit enteredCounter account (default 9000 Suspense)1010 Bank
Petty cash OUT5000 Operating Expenses1000 Cash
Petty cash IN1000 Cash9000 Suspense
Prepaid purchase1400 Prepaid Expenses1010 Bank
Prepaid amortization5000 Operating Expenses1400 Prepaid Expenses
Accrual5000 Operating Expenses2100 Accrued Liabilities
Asset acquisition1600 Fixed Assets1010 Bank
Depreciation5100 Depreciation Expense1500 Accumulated Depreciation
Asset disposal1500 Accumulated Depreciation + 1010 Bank (+ loss)1600 Fixed Assets (+ gain)
Intercompany1150 Intercompany Due-from2150 Intercompany Due-to
Period closeRevenue accountsExpense accounts + 3000 Retained Earnings

Ledger boundary

ActionPosts a journal?
Purchase order approvalNo
Goods receiptYes
Sales order approval and fulfilmentNo
Sales invoice issueYes
Stock adjustment, transfer, returnNo
Container registration and status advancesNo
Port documents issue, sign, deliverNo
Demurrage invoice issueYes
Trip create, update, deleteNo
Trip expense createYes
Driver advance createYes
Settlement createNo
Settlement finalizeYes
Bank account createNo
Bank reconciliationNo
AI approvals for invoice, expense or payment receiptYes
AI approvals for PO, sales order, customs, waybillNo
AI assistant and anomaly detectionNo
Analytics and reportsNo
All administration and settings pagesNo

Status machines

Purchase order : PENDING ─► PENDING_APPROVAL ─(ops gate)─(finance gate)─► APPROVED ─► FULFILLED
                       │              └─(Escalate)─► ESCALATED ─(CEO)─► APPROVED
                       └─(Reject)─────┘
                 any non-FULFILLED ─(Cancel)─► CANCELLED

Sales order    : PENDING ─► PENDING_APPROVAL ─► APPROVED ─► FULFILLED   (or ─► CANCELLED)

Sales invoice  : DRAFT ─► PENDING_APPROVAL ─► ISSUED ─► PARTIALLY_PAID ─► PAID
                                               └─(Void)─► VOID

Purchase invoice : ISSUED ─► PARTIALLY_PAID ─► PAID   (or ─► VOID)

Container      : AT_PORT ─► IN_TRANSIT ─► IN_WAREHOUSE ─► DELIVERED ─► RETURNED
Operation      : OPEN ─► COMPLETED   (or OPEN ─► VOID)
Document       : DRAFT ─► ISSUED ─► SIGNED ─► DELIVERED   (any ─► VOID)

Trip           : Started ─► Completed ─► Settled          (set manually)
Advance        : Unsettled ─► Settled                     (set on settlement finalize)
Settlement     : Pending ─► Finalized                     (journal posts on finalize)

AI task        : PENDING ─► PROCESSING ─► PENDING_APPROVAL ─► COMPLETED | FAILED | REJECTED
Approval row   : PENDING_APPROVAL ─► APPROVED | REJECTED | ESCALATED ─► RESOLVED (AI)
Demurrage      : computed ─► DRAFT + queue ─(approve)─► ISSUED ─► PAYMENT
All state machines in one place

Role matrix

AreaCEOCFOCOOSALES_MANAGERUSER
Team and workspace settingsFull————
Approval queue actionsYesYesYes——
AI ApprovalsYesYes———
Sales invoice createYesYesYesYesYes
Sales invoice approveYesYes—Yes—
Purchase order createYes—Yes—Yes
Purchase order ops gateYes—Yes——
Purchase order finance gateYesYes———
Purchase invoice and paymentYesYes———
Inventory master dataYesYesYes—Yes
Inventory adjust and transferYesYesYes——
Trips, drivers, vehiclesYes—Yes—Yes
SettlementsYes—Yes——
Containers and operationsYesYesYes—Yes
Cashbook and bank accountsYesYes———
Expense categories (create)Yes————
Alert rulesYesYes———
Audit logsYesYesYesYes—

Note

Employee-level detail

This table is a summary of the operating chapters. Where a chapter states a stricter rule — for example who may delete a warehouse — the chapter is authoritative.

Error message index

Message or symptomLikely causeWhere to fix
Missing chart-of-accounts entries for codes…An account is missing or inactiveCH 02 — Chart of Accounts
No open accounting period found for date…No open period covers the dateCH 02 — Accounting Periods
Journal entry is not balancedA manual journal's debits do not equal creditsCorrect the lines
Cannot close a period with unposted DRAFT journal entriesDraft journals existPost or void them, then close
No exchange rate configured from X to YA foreign pair has no rateCH 02 — Exchange Rates
Insufficient stock for variant…Not enough available-to-promiseCH 04 — receive, adjust or reduce the order
Cannot delete product/variant/warehouse with active stockStock is on hand, allocated or on orderCH 04 — clear the stock first
Insufficient stock in source warehouseTransfer exceeds on-hand at the sourceCH 04 — reduce or receive first
Cannot issue stock from empty warehouseNo stock row for that warehouse and variantCH 04 — receive or adjust first
Duplicate line item for variant…Same variant appears twiceMerge quantities into one line
Only PENDING purchase orders can be approvedWrong statusCH 05 — submit or re-open
Operational approval must come before financial approvalFinance gate attempted firstCH 05 — COO approves first
Invoice subtotal exceeds the purchase order totalOver-invoicingCH 05 — correct the invoice or the PO
Purchase order vendor/currency does not match the invoiceMismatched linkCH 05 — match to the PO
Cannot pay an invoice whose purchase order is not approvedPO not approvedCH 05
Only APPROVED orders can be fulfilledSales order not approvedCH 06
Only issued invoices can receive paymentsInvoice not issuedCH 06
Receipt or payment exceeds outstanding balanceOverpaymentReduce to the exact balance
Invalid status transition: X → YA container lifecycle step was skippedCH 07 — advance one step at a time
A container with this number already existsDuplicate container numberCH 07
A <document> with this number already existsDuplicate document numberCH 07
Operation has no linked warehouseOperation has no warehouse setCH 07 — edit the operation
Vehicle or driver already assigned to trip…Overlapping trip assignmentCH 08 — close the other trip
Advance exceeds driver's limit…Cumulative unsettled advances over the limitCH 08 — settle or raise the limit
Trip expense amount cannot be edited after postingEditing a posted amountCH 08 — delete and recreate
A finalized settlement already exists for this tripDuplicate settlementCH 08 — only one finalize per trip
Either debit or credit must be positive, but not bothNeither or both filledCH 09 — enter exactly one
Cannot delete a reconciled entryEntry already reconciledCH 09
Unsupported file typeWrong upload formatCH 10 — use PDF, image or Excel
File already uploadedDuplicate detected by hashCH 10 — review the existing task
Please select a customer/vendor/invoice before approvingEntity not chosenCH 10 — choose from the dropdown
Rate limit exceededToo many requestsWait and retry
Only the CEO can invite membersNon-CEO invitingCH 12
Cannot remove the last CFOProtecting the last finance approverCH 12 — promote another CFO first
Base currency cannot be changed after transactions have been recordedLedger already existsCH 12
This chat ID is already mapped to a memberDuplicate Telegram mappingCH 13 — unmap first

Glossary

AR
Accounts Receivable (1200) — money customers owe you.
AP
Accounts Payable (2000) — money you owe suppliers.
ATP
Available To Promise — on hand minus allocated. What a new sales order can commit.
Allocated
Stock reserved by an approved sales order that has not yet shipped.
Base currency
The single currency every book value and report converts to. Locked once the first journal entry exists.
Demurrage
The charge for a container held beyond its free time. Income posts to 4100 only when the invoice is ISSUED.
Detention
The clock that starts when a container leaves the port (gate-out) and stops when it is returned.
Double-entry
Every posting has equal total debits and credits. The system enforces this.
GRNI
Goods Received Not Invoiced (2050) — the liability raised when goods arrive, cleared when the supplier invoice is recorded.
Idempotent
Repeating the same business event does not create a duplicate journal.
Ledger boundary
The line between operational records (which do not post) and financial postings (which do).
Movement
A single stock change — RECEIPT, ISSUE, ADJUSTMENT, RETURN or AI_INGESTION.
On order
Quantity committed on an approved purchase order and not yet received.
Posting
Writing a balanced journal entry to the General Ledger. Posted entries are reversed, never edited.
Suspense
Account 9000 — the default counter leg for cashbook and petty cash entries until they are reclassified.
SKU / variant
The sellable, stockable unit. Stock is tracked at the variant, never the product.
Three-way match
Purchase order, goods receipt and supplier invoice agreeing. GRNI nets to zero when they do.

When you need help

Check the error index above first — it routes most messages to the chapter that fixes them. If the problem is not listed, note the module, the form you were on, the exact message and the date you were working with; those four details resolve most support questions on the first pass.

Note

Requesting a change

If an operational action should post to the ledger and does not, or a report is missing, raise it as a change request. Deliberate, specified changes keep the books trustworthy.