CR2100 · AP · Crescent Manufacturing
USD 451,400.00
CR2600 · Deferred revenue
USD 560,025.00
CR4000 · Revenue · medical Cat III
USD 560,025.00
CR1200 · AR · Brevin Health EU
USD 560,025.00
PLATFORM · FINANCE
The operator confirms a PO on Tuesday. The accountant books it the following Tuesday — from a CSV exported by the operator, dropped in a shared folder, opened in Excel, retyped into Xero. The shipment arrives Friday. The accountant doesn't know until the operator emails the BOL the following week. The customer pays through the LC bank. The accountant matches the wire against the AR sub-ledger ten days later. Multiply by 80 orders: a 14-day reconciliation cycle, a month-end close that runs to day 18, and a CFO who looks at last quarter's margin in the third week of the next quarter.
Finance in TradeOS is operations is the ledger. Every event in trade operations posts a journal entry the moment it happens. PO confirmed in Production. Goods received at the port. Customer invoice matched against the BOL. Wire arrives from the LC bank. The books update as the trade happens. Live margin per order. 11-currency native book with daily ECB rates. 3-way match before any payment leaves.
A live view of order RD-2026-077: every operational event on the left auto-posts the journal entry on the right. Bottom strip is the realized P&L on this order, computed from posted entries — not a forecast.
WHAT BREAKS WHEN OPS AND ACCOUNTING DON'T SHARE A DATABASE
PO confirmed Tuesday in your OMS. The accountant books it the following Tuesday — from a CSV exported by the operator, dropped in a folder, opened in Excel, retyped into Xero. The shipment arrives Friday. The accountant doesn't know until the operator emails the BOL the following week. Eighty orders a month means 14-day reconciliation lag, day-18 close, and a CFO reading last quarter's margin in the third week of the next quarter.
$87,400 lands in your USD bank account at 2pm. The wire reference says "INV-2026-0341" — but your AR sub-ledger has invoices ending in 341 across three different clients. The accountant pings the salesperson. Salesperson pings the client. Three days later the cash sits in suspense while someone confirms it cleared the right invoice. AR aging gets corrupted. Days Sales Outstanding looks worse than it is. Auditors flag the suspense balance at year-end.
Quoted margin says 22%. Actual margin after duty, freight, demurrage, the currency move, and the credit-card fee from the express courier? Maybe 14%. Maybe 9%. You find out when the controller drops a tab into the quarterly review showing the variance per order — three weeks after the orders shipped. The sales team's commission already paid out at quoted margin. The CFO is now arguing with sales about clawback.
WHAT IT DOES
TradeOS issues invoices straight from the order, the shipment, the LC reference, the tax codes — and tracks them through their lifecycle (draft → sent → partial → paid → overdue). On the payables side, every supplier bill runs through a 3-way match (PO + GR + Invoice) before payment releases — pass auto-releases, fail holds with a single-line summary of which document and which field disagrees. Six branded document templates ship out of the box — Invoice, Proforma, Credit Note, Payment Receipt, Commercial Invoice, Financial Statement — fully editable in a no-code template editor (logo, colors, fonts, blocks, accent), with the result saved per company so every document goes out on-brand.
INVOICES · RECEIVABLES (AR) · 142 INVOICES · $1.85M OUTSTANDING
| Invoice | Client | Order | Date | Due | Amount | Status |
|---|---|---|---|---|---|---|
| INV-2026-077 | 🇩🇪 Brevin Health EU | RD-2026-077 | Jul 12 | Aug 11 | $560,025 | SENT |
| INV-2026-073 | 🇦🇺 Pacific Health AU | RD-2026-073 | Jun 28 | Jul 28 | $412,600 | PAID |
| INV-2026-066 | 🇦🇺 Pacific Health AU | RD-2026-066 | Jun 30 | Jul 30 · +8d | $184,000 | OVERDUE |
| INV-2026-061 | 🇬🇧 Norwell Components UK | RD-2026-061 | Jun 22 | Jul 22 · +18d | $98,400 | OVERDUE |
| INV-2026-052 | 🇮🇳 Vertex Group IN | RD-2026-052 | Jun 5 | Jul 5 · +47d | $24,600 | OVERDUE |
| # | Description | HS code | Qty | Unit (USD) | Total (USD) |
|---|---|---|---|---|---|
| 1 | Nitrile examination gloves — Cat III Powder-free, 5.0g, blue, sterile · CE-MDR Class III · lot CRES-2026-08841 | 4015.19.05 | 1,800 cs | $294.50 | $530,100.00 |
| 2 | Sterile surgical gloves — latex-free Size 7.5, individually wrapped · ISO 13485 · lot CRES-2026-08842 | 4015.19.10 | 280 cs | $104.50 | $29,260.00 |
| 3 | Ocean freight — Port Klang → Hamburg COSCO Shipping Rose v047E · B/L COSU-7140228 · CIF | — | 1 | $665.00 | $665.00 |
Open Cash Flow and TradeOS shows current cash, projected inflows (AR coming in), projected outflows (AP + freight + recurring costs), and cash at 90 days — all computed live from posted ledger entries and pending obligations. The Scenarios panel lets you slide what-ifs: delay this client's payment by N days, freight up X%, accelerate inflows by N weeks. The 90-day curve updates in real time, the shortfall threshold (default $50K) recomputes, and if cash dips below it an alert tells you exactly which week and by how much. Cash Flow Statement (P/L → CF reconciliation) and a profit forecast live on the same screen.
CASH FLOW · 90-DAY POSITION · SCENARIO MODELING
Every order has a margin number that updates the moment a posting moves it. The PO commits the manufacturing cost. The freight booking commits the ocean leg. The duty assessment commits the customs charge. The customer wire closes the revenue. Margin is realized, not estimated — every dollar in the number traces back to a journal entry, every entry traces back to an operational event. The Profitability page lets the CFO slice the book five ways — By Product, By Client, By Manufacturer, By Order, By Market — with margin alerts surfacing every order below the configured target (default 20%) before it ships.
PROFITABILITY · BY ORDER · LIVE FROM POSTED JE
| Order | Client | Revenue | COGS | Margin % | Status |
|---|---|---|---|---|---|
| RD-2026-077 | 🇩🇪 Brevin Health EU | $560,025 | $451,400 | 19.4% | SETTLED |
| RD-2026-073 | 🇦🇺 Pacific Health AU | $412,600 | $295,422 | 28.4% | SETTLED |
| RD-2026-082 | 🇪🇸 Iberica Agro SL | $486,200 | $394,820 | 18.8% | INVOICED |
| RD-2026-088 | 🇮🇹 Industria Lombardia SpA | $724,800 | $612,900 | 15.4% | IN TRANSIT |
| RD-2026-079 | 🇬🇧 Norwell Components UK | $298,400 | $264,985 | 11.2% | PRODUCTION |
This is where TradeOS becomes a real accounting system, not a finance-flavored CRM. Chart of Accounts with full parent-child hierarchy, seven account types (assets, liabilities, equity, revenue, expense, contra-revenue, contra-expense), and configurable normal-balance per account. Journal Entries posted automatically by the event engine — every operational event (invoice issued, payment received, bill received, FX revaluation, revenue recognized) creates a balanced double-entry posting with memo, source-event reference, and reversal protection. Trial Balance computes live from the posted ledger with a BALANCED / UNBALANCED indicator. Periods open and lock with automated period-end accruals (FX revaluation, overhead accruals). Events & Failures surfaces anything that failed to post so the operator can correct before close. Recurring Costs schedules monthly accruals (rent, salaries, subscriptions) that post on their own cadence without manual entry. Six sub-tabs. One ledger.
COA · journal entries · trial balance · period close · events & failures · recurring costs
| Date | Entry | Source | Memo | Debits | Credits | Status | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jul 12, 2026 | JE-44219 | payment › received | Wire DBS Bank · USD 560,025 · INV-2026-077 cleared | $560,025.00 | $560,025.00 | POSTED | ||||||||||||
| Jul 12, 2026 | JE-44215 | revenue › recognized | INV-2026-077 · Deferred → Revenue on delivery acceptance | $560,025.00 | $560,025.00 | POSTED | ||||||||||||
| Jul 12, 2026 | JE-44204 | invoice › issued | INV-2026-077 · Brevin Health EU · CIF Hamburg | $560,025.00 | $560,025.00 | POSTED | ||||||||||||
| ||||||||||||||||||
| Jul 11, 2026 | JE-44196 | bill › received | BILL-2026-088 · Crescent Mfg · PL-2026-071 · 6,720 kg | $422,400.00 | $422,400.00 | POSTED | ||||||||||||
| Jul 8, 2026 | JE-44171 | bill › received | BILL-2026-082 · COSCO Carriage · Port Klang → Hamburg freight | $14,200.00 | $14,200.00 | POSTED | ||||||||||||
| Jul 1, 2026 | JE-44102 | fx › revaluation | Period-end FX revaluation · ECB 2026-06-30 | $8,420.00 | $8,420.00 | REVERSED | ||||||||||||
OTHER ACCOUNTING SUB-TABS · AT A GLANCE
Every statement comes from the same posted ledger. Select a period (this quarter, last quarter, year-to-date, custom range), optionally compare it against another (prior period, prior year), and the statement renders instantly with the company header, accrual-basis label, and a one-click Download PDF or Export Excel ready for the tax accountant. Three statement types — Profit & Loss, Balance Sheet, Cash Flow Statement — all share the same trial-balance foundation, all auditable back to operational events. No reconciliation. No spreadsheet bridges. No "wait, where did this number come from."
STATEMENTS · PROFIT & LOSS · Q2 2026 · vs Q2 2025
| Account | Q2 2026 | Q2 2025 | Δ |
|---|---|---|---|
| REVENUE | |||
| Product revenue · medical Cat III | $3,847,200 | $2,914,800 | +32.0% |
| Product revenue · medical Cat I | $1,124,600 | $988,400 | +13.8% |
| Total revenue | $4,971,800 | $3,903,200 | +27.4% |
| COST OF GOODS SOLD | |||
| Manufacturing | $3,318,400 | $2,624,700 | +26.4% |
| Landed (freight, duty, ins.) | $487,200 | $362,800 | +34.3% |
| Gross profit | $1,166,200 | $915,700 | +27.4% |
| Gross margin % | 23.5% | 23.5% | +0.0pp |
| OPERATING EXPENSES | |||
| Salaries · operations | $284,000 | $256,000 | +10.9% |
| Software & subscriptions | $18,400 | $22,600 | −18.6% |
| NET INCOME | $863,800 | $637,100 | +35.6% |
Pick a jurisdiction (Singapore, Germany, UK, Switzerland, etc.) and TradeOS surfaces the tax rates that apply (VAT, GST, sales tax, corporate income tax), filing deadlines for the period, the local tax authority + portal URL, sub-jurisdictions where applicable, and the e-invoicing mandate format if any (Italy SdI, Saudi ZATCA, etc.). Tax codes are tied to posting accounts so the right rate gets booked on the right transaction. The Filing Calendar surfaces overdue and upcoming deadlines so nothing slips. The Treaties sub-tab surfaces double-taxation agreements that affect withholding on cross-border payments.
TAX · SINGAPORE (SG) · 4 RATES · 12 DEADLINES · 0 OVERDUE
| Type | Category | Rate | Description | Effective From |
|---|---|---|---|---|
| GST | Standard | 9% | Goods & Services Tax — standard rate on local supplies | 2024-01-01 |
| GST | Zero-rated | 0% | Exports of goods + international services (medical devices Cat I/III) | 2024-01-01 |
| CIT | Corporate | 17% | Corporate income tax · partial exemptions for first SGD 200k | 2010-01-01 |
| WHT | Royalties · non-treaty | 10% | Withholding on royalties paid to non-resident (treaty rates may apply) | 2020-01-01 |
HOW IT CONNECTS
Operations and finance share a single database. The PO commit table and the AP sub-ledger reference the same row. The shipment table and the inventory-in-transit ledger reference the same row. There's no mapping layer to fail.
WHERE IT GOES DEEPER
Audit defensibility and the option to drop external GL entirely.
An external auditor pulls JE-44204 from the trial balance and asks "what is this $560,025 AR posting." In legacy stacks, the answer is a screenshot of an Excel reconciliation done three weeks later. In TradeOS, JE-44204 (the invoice.issued event) links to invoice INV-2026-077, which links to shipment SH-2026-088, which links to PO RD-2026-077, which links to the original customer order with the LC reference, the BOL, the packing list, the EUR.1, and the Layer 5 compliance check. The auditor can also drill sideways to JE-44215 (the corresponding revenue.recognized event) to see when Deferred Revenue was reclassified to Revenue per the company's accounting policy. Every posting is one click from its source operational event, the event is one click from its source document, and the document is one click from the field-level audit trail showing who edited what and when. The auditor's request is satisfied in 30 seconds, not 30 minutes.
JE-44204 · DRILL · INVOICE.ISSUED POSTING
Most SMB traders run a stack: QuickBooks or Xero for the ledger, a spreadsheet for FX positions, Bill.com for payables, a separate dunning tool, FloQast for the close, and the founder's email for everything that doesn't fit. TradeOS Finance covers most of that natively — chart of accounts, journal entries, AP / AR, multi-currency, 3-way match, period close, audit trail. The Xero / QuickBooks bidirectional sync is on the roadmap for customers who want to keep their external accountant in the tool they know. Both deployment shapes are first-class — replace, or sync; not lock-in.
CONSOLIDATE THE STACK · ONE LEDGER
BUILT INTO YOUR OPERATIONS
Mariana is the controller at Meridian Co. — a 38-person trader of medical devices out of Singapore, USD 47M in revenue last year. She's used Xero for six years. Operations live in five Excel files and the founder's email inbox. Month-end takes 11 days. Today is the second Tuesday of August, the day she normally starts the July close.
Day 1 · 09:14. Mariana opens TradeOS Finance > Period close > July 2026. The screen shows 47 orders booked in July, 42 fully closed (ship + invoice + cash all posted), 5 still open. Of the 47, 0 require manual journal entries. Every event posted automatically as it happened. The trial balance is already drawn.
09:18. She runs the FX revaluation. EDMA pulls July 31 ECB rates, revalues the open foreign-currency positions (€480k AR, ¥3.14M CNY AP, £185k AR, S$413k cash, €300k forward, etc.), and posts a single FX gain/loss entry: JE-44391 · DR FX revaluation · USD 8,420 · CR various foreign-currency accounts. The realized vs. unrealized split is automatic, separated for the tax filing.
09:22. She runs the GR/IR clearing — the goods-received-but-not-invoiced sweep. 3 of 47 orders had goods received in July with the supplier invoice still outstanding (Crescent and two others). EDMA accrues the cost at the PO price for the close and reverses it in August once the invoices land. One click.
09:31. She reviews the 5 open orders. Two are still in production (no revenue posted yet, COGS WIP showing). One shipped July 30 but the customer hasn't paid yet — AR shows $124k current. One had demurrage that hasn't billed yet — accrued at port estimate. One had a duty assessment dispute that's parked in a contested-payable account. All flagged correctly. No surprises.
09:34. Margin per order report. 47 orders, 47 margin numbers, every one ties to its underlying postings. Average gross margin 18.7%. The CFO sees this on day 1 of August, not day 18.
09:42. She e-signs the close. TradeOS locks the period for posting. July is closed. Total elapsed: 28 minutes.
Two weeks later the external auditor (PKF Singapore) requests source documents on three sample journal entries. Mariana sends them a read-only auditor portal with scoped access to July postings. The auditor opens JE-44204, drills to invoice INV-2026-077, drills to the LC presentation set, drills to the field-level audit trail showing who edited what at what time. The audit-pack response — which used to take her three full days of pulling files from email and Dropbox — takes 9 minutes.
VS. ALTERNATIVES
| Capability | QuickBooks / Xero | NetSuite | SAP S/4HANA | Bill.com / Ramp | TradeOS |
|---|---|---|---|---|---|
| Auto-post JE from operational event | ✓ | — | partial | ✓ | partial |
| Live margin per order from posted entries | ✓ | — | partial | ✓ | — |
| Native multi-currency (11) | ✓ | add-on | ✓ (10) | ✓ | partial |
| 3-way match (PO/GR/Inv) before pay | ✓ | — | ✓ | ✓ | partial |
| Trade-specific events (LC, duty, demurrage) | ✓ | — | — | partial | — |
| Cadence-based AR reminders + late interest | ✓ | partial | ✓ | ✓ | — |
| Auditor portal · scoped read-only | ✓ | partial | ✓ | ✓ | — |
| Drill JE → operational event in one click | ✓ | — | partial | ✓ (within SAP) | — |
| Setup time | 1–2 weeks | 1 day | 4–9 months | 9–18 months | 1 week |
| Pricing fits SMB shipper | ✓ | ✓ | — | — | partial |
This isn't a takedown. QuickBooks and Xero are excellent SMB accounting tools — and the Xero / QuickBooks bidirectional sync is on the TradeOS roadmap so customers can keep their external accountant working in the tool they know. NetSuite and SAP S/4HANA are credible enterprise ERPs with integrated ops and finance — they work, they scale, and they cost six figures plus a year of implementation. Bill.com and Ramp are best-in-class AP automation for the payable side. None of them know what an EUR.1 is, none of them speak BOL, and none of them produce a per-order landed-margin number derived from connected trade events at a price point a $50M trader can afford. TradeOS Finance is built for that gap.
FAQ
TradeOS Finance covers the ledger natively today — chart of accounts, journal entries, AP / AR, multi-currency, 3-way match, period close, audit trail. The Xero / QuickBooks bidirectional sync is on the roadmap for customers who want to keep their external accountant in the tool they know. The intention is that both deployment shapes — 'run the ledger here' and 'sync to your accountant' — are first-class, not a transitional phase from one to the other.
Send the COA you use today, an export of one in-flight order (PO + GRN + invoice + wire if you have it), and your last bank statement. We'll show you how those rows post to the ledger in TradeOS without a single CSV bridge. No demo data. Your numbers, your accounts, your currencies.