How credit enforcement works
The model
Section titled “The model”Every approved company has:
- a credit limit – set by you at approval, adjustable any time
- outstanding exposure – what they currently owe you: unpaid orders, computed automatically from order events
- available credit = limit − exposure − your configured safety buffer
Enforcement at checkout
Section titled “Enforcement at checkout”When a B2B buyer checks out, a Shopify checkout validation rule compares the order total against the company’s available credit. Over the limit, checkout is blocked with a message you control – the default:
This order exceeds your available credit (£1,450.00 remaining). Reduce the order total or contact us to arrange payment.
This runs on Shopify’s own checkout infrastructure. It works on every plan (Basic, Grow, Advanced, Plus) and requires zero theme changes.
Where enforcement applies
Section titled “Where enforcement applies”| Surface | Enforced? |
|---|---|
| Online store checkout (B2B buyer) | ✓ |
| Draft orders / quotes | ✓ – validation applies to draft orders by default |
| Cart page warnings | ✓ on standard OS 2.0 themes (the theme renders cart errors) |
| Shopify POS | ✗ – Shopify does not run checkout validation at POS |
| Orders created directly via API by other apps | ✗ – same platform limitation |
| Order edits after checkout | ✗ – edits aren’t re-validated by Shopify; the ledger updates immediately, and you’re alerted if an edit takes the company over its limit |
| Subscription and pre-order charges | ✗ – recurring/deferred charges bypass checkout validation |
We say this plainly because a credit control you think covers everything is worse than one whose edges you know. POS and API orders still count toward exposure the moment they exist – they just can’t be blocked pre-sale.
Timing, honestly
Section titled “Timing, honestly”Exposure updates within seconds of order events (created, paid, cancelled, refunded). Between an order landing and the update, a second order could squeeze through – the window is seconds wide. Three mechanisms close it in practice:
- the safety buffer you configure absorbs small overshoots,
- pending-but-unpaid orders count as exposure immediately,
- nightly reconciliation re-derives every balance from your full order history and alerts on any drift.
If our data is ever unavailable
Section titled “If our data is ever unavailable”If a company’s credit data can’t be read at checkout (a sync failure on our side), Transactful fails open: the order is allowed and you’re alerted immediately. We will never make your store unsellable because our sync broke – a missed block is recoverable; blocked legitimate revenue is not. Merchants who prefer the opposite can enable strict mode (fail closed) in Transactful → Settings → Enforcement.
What buyers see
Section titled “What buyers see”Buyers see their credit limit, current balance, and available credit inside their Shopify customer account – no separate portal, no extra login. See what buyers see.