Exposure & sync
Exposure is simply what a company currently owes you – every unpaid order, minus every payment. Transactful keeps that number correct continuously, and this page explains how.
What counts as exposure
Section titled “What counts as exposure”| Event | Effect on exposure |
|---|---|
| Order placed on payment terms | + order total (including tax and shipping) |
| Invoice paid | − amount paid |
| Order cancelled | − order total |
| Refund issued | − refund amount (a paid, then refunded order nets to zero) |
| Draft order sent, on terms, accepted | + total (it’s a commitment) |
| Order placed and paid at checkout (deposit or full) | + only the unpaid remainder |
Orders that arrive outside enforcement (POS, other apps via API) still count toward exposure as soon as they exist – the ledger is complete even where pre-sale blocking isn’t possible.
The ledger, not a balance
Section titled “The ledger, not a balance”Transactful never stores a running balance that could silently rot. Every event is an entry in an append-only ledger; exposure is always derived by summing entries. Duplicate webhook deliveries (Shopify guarantees at-least-once, so duplicates happen) are recognized and ignored; out-of-order events (a payment webhook arriving before its order webhook) resolve correctly because entries are facts, not mutations.
Companies › Aldgate Homeware Co › Ledger
Credit ledger
| Date | Entry | Order | Amount |
|---|---|---|---|
| 24 Jul | Order placed on terms | #1067 | +£2,340.00 |
| 22 Jul | Payment received | #1051 | −£3,200.00 |
| 21 Jul | Refund issued | #1049 | −£180.00 |
| 14 Jul | Opening balance (import) | — | +£9,090.00 |
| Outstanding | £8,050.00 | ||
Nightly reconciliation
Section titled “Nightly reconciliation”Every night, Transactful re-derives every company’s exposure directly from your Shopify order history and compares it with the ledger. Agreement is logged. Disagreement – from a missed webhook, an edited order, anything – produces a drift alert: you see the company, the two numbers, and the correcting entry that was applied. Drift is expected to be rare and small; a pattern of drift is our bug to fix, and visible enough that you’d know.
The company credit page
Section titled “The company credit page”Each company’s credit page shows: limit, exposure, available credit, the buffer, and the ledger itself – every entry with its order link, amount, and timestamp. When a buyer disputes their balance, you read them the ledger.
Manual adjustments
Section titled “Manual adjustments”Sometimes reality isn’t in Shopify: a bank transfer against an old invoice, an agreed write-off. Add a manual adjustment (+ or −) with a required note; it’s a first-class ledger entry, attributed and permanent. There is no “edit balance” – only entries.