PLATFORM · FINANCE

Operations and accounting work from two databases. Then someone reconciles them at month end.

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.

Book a demoSee pricing

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

Three month-end moments every CFO already knows.

The 14-day reconciliation cycle

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.

The wire that doesn't match the invoice

$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.

The landed margin that's a quarterly Excel exercise

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

What the Finance module does

Stop paying invoices that don't match what arrived in the warehouse.

TradeOS issues invoices straight from the order, the shipment, the LC reference, the tax codes — and tracks them through their lifecycle (draftsentpartialpaidoverdue). 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

OverviewInvoicesPaymentsCash flowProfitabilityAccountingStatementsTax
142
Total Invoices
$1.85M
Outstanding
8
Overdue
36
Paid
Receivables (AR)Payables (AP)
Search invoices…All Status All Clients
InvoiceClientOrderDateDueAmountStatus
INV-2026-077🇩🇪 Brevin Health EURD-2026-077Jul 12Aug 11$560,025SENT
INV-2026-073🇦🇺 Pacific Health AURD-2026-073Jun 28Jul 28$412,600PAID
INV-2026-066🇦🇺 Pacific Health AURD-2026-066Jun 30Jul 30 · +8d$184,000OVERDUE
INV-2026-061🇬🇧 Norwell Components UKRD-2026-061Jun 22Jul 22 · +18d$98,400OVERDUE
INV-2026-052🇮🇳 Vertex Group INRD-2026-052Jun 5Jul 5 · +47d$24,600OVERDUE
BRANDED DOCUMENT TEMPLATESTemplates · 6 built-in · all editable →
CLIENTInvoice
QUOTEProforma
REFUNDCredit Note
RECEIPTPayment Receipt
EXPORTCommercial InvoicePRO
REPORTINGFinancial StatementPRO
PREVIEW · INV-2026-077 · BRANDED FOR EDMA GROUPedit template → logo, colors, blocks, payment terms
EDMA Group LLC
trade.edma.co · Reg. SG · GST 200912345A
INVOICE
INV-2026-077
BILL TO
Brevin Health EU GmbH
Hafenstraße 14, 20457 Hamburg
Germany
VAT-ID DE 264 921 837
SHIP TO
Meridian DC Hamburg
Logistikpark Süderelbe, Halle 4
21129 Hamburg, DE
Order RD-2026-077 · CIF Hamburg
Issued12 Jul 2026Due11 Aug 2026TermsNet 30PO RefMER-2026-PO-114CurrencyUSD
#DescriptionHS codeQtyUnit (USD)Total (USD)
1Nitrile examination gloves — Cat III
Powder-free, 5.0g, blue, sterile · CE-MDR Class III · lot CRES-2026-08841
4015.19.051,800 cs$294.50$530,100.00
2Sterile surgical gloves — latex-free
Size 7.5, individually wrapped · ISO 13485 · lot CRES-2026-08842
4015.19.10280 cs$104.50$29,260.00
3Ocean freight — Port Klang → Hamburg
COSCO Shipping Rose v047E · B/L COSU-7140228 · CIF
1$665.00$665.00
PAYMENT
BankDBS Bank Singapore
Account0123-4567-89
SWIFT/BICDBSSSGSG
ReferenceINV-2026-077
Subtotal$560,025.00
VAT · zero-rated export$0.00
TOTAL DUEUSD $560,025.00
Settled by11 Aug 2026

See whether you can pay the next supplier wire — before you commit the next PO.

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

OverviewInvoicesPaymentsCash flowProfitabilityAccountingStatementsTax
$1.85M
Current Cash
$4.20M
Projected Inflows
$3.10M
Projected Outflows
$2.95M
Cash at 90d
Projected cash shortfall of $245K in 43 days · Cash dips below $50K minimum at week 6 · Consider accelerating client collections or delaying supplier payments.
90-Day Cash PositionThreshold $50K · weekly
📈Scenarios
Delay client receipts+14d
Delay supplier paymentsbase
Freight cost+12%
Accelerate inflows2w early

Find out you're losing money on an order while it's shipping — not after the books close.

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

OverviewInvoicesPaymentsCash flowProfitabilityStatementsAccountingTax
By ProductBy ClientBy ManufacturerBy OrderBy Market
19.4%
Avg Order Margin
28.4%
Best · RD-2026-073
11.2%
Worst · RD-2026-079
−0.6pp
vs Target (20%)
Search orders…All Clients
OrderClientRevenueCOGSMargin %Status
RD-2026-077🇩🇪 Brevin Health EU$560,025$451,40019.4%SETTLED
RD-2026-073🇦🇺 Pacific Health AU$412,600$295,42228.4%SETTLED
RD-2026-082🇪🇸 Iberica Agro SL$486,200$394,82018.8%INVOICED
RD-2026-088🇮🇹 Industria Lombardia SpA$724,800$612,90015.4%IN TRANSIT
RD-2026-079🇬🇧 Norwell Components UK$298,400$264,98511.2%PRODUCTION
MARGIN ALERTS2
Order RD-2026-079 — 🇬🇧 Norwell Components UK
Margin 11.2% vs 20% target · 8.8pp below
Review →
Order RD-2026-082 — 🇪🇸 Iberica Agro SL
Margin 18.8% vs 20% target · 1.2pp below
Review →

A full double-entry ledger that closes the books at day-3, not day-18.

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.

Finance

COA · journal entries · trial balance · period close · events & failures · recurring costs

1,247

Journal Entries

$24.7M

Total Volume

3

Reversed

Search by entry, source, memo…All Sources2026-07-01to2026-07-31
DateEntrySourceMemoDebitsCreditsStatus
Jul 12, 2026JE-44219payment › receivedWire DBS Bank · USD 560,025 · INV-2026-077 cleared$560,025.00$560,025.00POSTED
Jul 12, 2026JE-44215revenue › recognizedINV-2026-077 · Deferred → Revenue on delivery acceptance$560,025.00$560,025.00POSTED
Jul 12, 2026JE-44204invoice › issuedINV-2026-077 · Brevin Health EU · CIF Hamburg$560,025.00$560,025.00POSTED
AccountNameDebitCredit
1200Accounts receivable · Brevin Health EU$560,025.00
2600Deferred revenue · medical Cat III$560,025.00
Jul 11, 2026JE-44196bill › receivedBILL-2026-088 · Crescent Mfg · PL-2026-071 · 6,720 kg$422,400.00$422,400.00POSTED
Jul 8, 2026JE-44171bill › receivedBILL-2026-082 · COSCO Carriage · Port Klang → Hamburg freight$14,200.00$14,200.00POSTED
Jul 1, 2026JE-44102fx › revaluationPeriod-end FX revaluation · ECB 2026-06-30$8,420.00$8,420.00REVERSED
1,247 entries
1 / 63

OTHER ACCOUNTING SUB-TABS · AT A GLANCE

Chart of Accounts87 accounts
1010Cash & equivalentsAsset
1200Accounts receivableAsset
2100Accounts payableLiab.
2600Deferred revenueLiab.
4000Revenue · Cat IIIRev.
5000COGS · manufacturingExpense
7 account types · parent-child hierarchy · per-account normal-balance
Trial Balance · as of Jun 30BALANCED
Total Debits$24,738,420.00
Total Credits$24,738,420.00
Δ Out of balance$0.00
live from posted ledger · re-runs on every JE post
PeriodsQ3 open
Q1 2026LOCKED
Q2 2026CLOSING · 14d
Q3 2026OPEN
period-end FX revaluation · GR/IR clearing · accruals automated
Events & Failures0 failures
invoice.issued412 posted
revenue.recognized387 posted
payment.received218 posted
bill.received186 posted
fx.revaluation12 posted
every event → balanced JE · failures retried & reported

Three statements the CFO actually trusts — generated from postings, not Excel.

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

OverviewInvoicesPaymentsCash flowProfitabilityAccountingStatementsTax
Profit & LossBalance SheetCash Flow Statement
⤓ Download PDF↗ Export Excel
Edma Demo Trading
Profit & Loss
Accrual Basis · Q2 2026 (Apr 1 — Jun 30)
PeriodQ2 2026 ▾
Compare toQ2 2025 ▾
Source: Ledger · 1,247 entries posted
AccountQ2 2026Q2 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%

Sales tax, VAT, and import duty posted by jurisdiction — at the moment of the underlying event.

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

OverviewInvoicesPaymentsCash flowProfitabilityAccountingStatementsTax
Jurisdiction🇸🇬 Singapore (SG) ▾
Inland Revenue Authority of Singapore
IRAS · base currency SGD · portal: mytax.iras.gov.sg
4
Tax Rates
12
Filing Deadlines
0
Overdue
Sub-Jurisdictions
Yes
E-Invoicing
Tax RatesFiling CalendarTreaties
Current tax rates · Singaporeeffective 2026 · auto-applied at posting time
TypeCategoryRateDescriptionEffective From
GSTStandard9%Goods & Services Tax — standard rate on local supplies2024-01-01
GSTZero-rated0%Exports of goods + international services (medical devices Cat I/III)2024-01-01
CITCorporate17%Corporate income tax · partial exemptions for first SGD 200k2010-01-01
WHTRoyalties · non-treaty10%Withholding on royalties paid to non-resident (treaty rates may apply)2020-01-01
UPCOMING FILINGS · NEXT 60 DAYS4
Jul 31GST F5 · Q2 2026in 10 days
Aug 31CIT estimated payment · YA 2026in 41 days
Sep 15WHT · Form IR37 · Jul outflowsin 56 days

HOW IT CONNECTS

The general ledger every other section writes to — without an integration.

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.

FromOrders
PostsAR + revenue + tax
customer invoice issued · LC drawdown
FromProduction
PostsAP + inventory + COGS
PO confirmed · goods received · variance
FromShipments
PostsLanded cost · duty · demurrage
freight booked · vessel arrived · customs cleared
FromDocuments
Posts3-way match · payment release
supplier invoice received · matched · released
FromBank reconciliation
PostsCash · FX revaluation · LC settlement
wire arrived · LC closed · forward matures
ToXero / QuickBooks
SyncJE export · roadmap
planned · keeps the external accountant in their tool

WHERE IT GOES DEEPER

Two more capabilities most teams underestimate.

Audit defensibility and the option to drop external GL entirely.

Click any journal entry and land on the BOL, the GRN, or the wire confirmation that posted it.

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

JE-44204 · auto-posted2026-07-12 12:08:14 UTC · Carmen Aldridge
EVENT TYPE
invoice.issued
PERIOD
2026-07 · open
3-WAY MATCH
PO + GR + Invoice agree
LAYER 5
38/40 PASS · cycle 1
DR1200 · AR · Brevin Health EU560,025.00
CR2600 · Deferred revenue · medical Cat III560,025.00
USD posting · EUR view €517,140.62 @ 1.0829 · GBP view £437,083 @ 0.7805

Keep your external accountant in Xero or QuickBooks — sync the entries TradeOS already posted.

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

Accounting
QuickBooks
Accounting
Xero
AP automation
Bill.com
Reconciliation
FloQast
Spend
Ramp
FX hedging
Kantox
AR / dunning
Chaser
Reporting
Spotlight
EDMA · FINANCE
One operating ledger
JE · AP · AR · 11-currency · 3WM · FX · close · audit
MULTI-CURRENCY
11 native
Daily ECB rates · per-event lock · continuous revaluation with FX gain/loss separated.
3-WAY MATCH
PO + GR + Invoice
Auto-release on PASS · HOLD with field-level summary when any document disagrees.
AR REMINDERS
Cadence-based
Default [7, 14, 30, 60] · configurable per company · late interest accrues to ledger.
AUDIT TRAIL
JE → event → docs
Every posting links to its source event; every event to its source document; every field has version history.

BUILT INTO YOUR OPERATIONS

One order, end-to-end — every event in operations posting a journal entry as it happens.

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

Where this fits versus the tools you might already use

CapabilityQuickBooks / XeroNetSuiteSAP S/4HANABill.com / RampTradeOS
Auto-post JE from operational eventpartialpartial
Live margin per order from posted entriespartial
Native multi-currency (11)add-on✓ (10)partial
3-way match (PO/GR/Inv) before paypartial
Trade-specific events (LC, duty, demurrage)partial
Cadence-based AR reminders + late interestpartial
Auditor portal · scoped read-onlypartial
Drill JE → operational event in one clickpartial✓ (within SAP)
Setup time1–2 weeks1 day4–9 months9–18 months1 week
Pricing fits SMB shipperpartial

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

Frequently asked questions

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.

Bring us your chart of accounts and one open order. We'll show you what month-end looks like when ops posts the journals.

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.

Book a demoTalk to sales

See pricing →

Finance — from order to settled, in one ledger | TradeOS