Wholesale cash rarely fails on demand; it fails on detail. Tens of thousands of invoices, dozens of price lists, layered rebates, deductions for shortages or late trucks, and buyers that pay from different legal entities than they order under. If finance cannot tell which remittance belongs to which AR line without a human in the loop, DSO drifts and margin follows. The fastest structural win in 2025 is to make money self-describing on arrival: virtual IBANs (vIBANs) per counterparty or cohort, ISO 20022 remittance data end-to-end, and a rules engine that understands rebates, deductions, and FX policy. Everything else—terms, credit, hedging—works better once cash applies itself.
Wholesale is two calendars fighting: the sales calendar (promos, season breaks, line launches) and the cash calendar (invoice dates, payment runs, bank cut-offs). Alignment starts by deciding what a “counterparty” is in finance terms. Many buyers operate multiple trading entities, ship-to locations, and AP centers. Map that reality into a canonical “payer group” with its own credit line, currency, and reconciliation identity. Then assign a virtual IBAN (or several) to that group so all their bank transfers land with a reference that your cash app can trust. You’ll stop reading PDFs and start trusting files.
Virtual accounts are not just a mailbox trick; they’re segmentation. Use them to separate wholesale channels (independent retailers vs key accounts), to isolate marketplaces and drop-ship programs, and to split geographies where VAT/GST rules diverge. A single physical bank account can surface hundreds of vIBANs; each becomes a clean ledger bucket with clear ownership. When an AP clerk pays three invoices and forgets remittance, the vIBAN tells you enough to auto-post 95% of the value and queue the balance for exception handling instead of throwing the whole payment into suspense.
Price architecture is where reconciliation cost is minted. Keep one currency of account per legal seller, but publish price lists in buyer currencies where volume justifies it; that pushes FX from the buyer’s AP to your treasury, which you can manage with buffers and forwards. Round to human steps per currency (no odd-cent list prices in JPY). Encode rebates in the price book, not in emails: growth rebates, mix rebates, calendar promos, logistics performance credits. Each rebate type should be a first-class object with an accrual rule (volume tiers, portfolio mix), a recognition rule (when it hits P&L), and a settlement rule (credit note netting vs cash). If you cannot point to the rule that created a rebate, AR will become a debate club.
Deductions are wholesale’s quiet profit leak. Shortage claims, damage at delivery, late truck allowances, price-protection back to promo dates, co-op marketing—that’s where gross turns into net. Make deductions computable. Every deduction line in AR should carry a cause code and an evidence link: POD images, EDI 214/856 events, appointment confirmations, ASN vs receipt variance. If a buyer takes a short-pay for a shortage you can disprove, your system should propose a chargeback automatically, not ask a human to hunt. Over time, you’ll see the pattern: five buyers create 80% of deduction effort; structure their SLAs, packaging, and EDI contracts accordingly.
Order-to-cash in wholesale hinges on clean identifiers. Use GS1 GLNs for locations, buyer IDs for payer groups, and structured invoice numbers that encode seller entity and period. Ingest EDI/JSON orders (850/ORDERS), ship notices (856/DESADV), receipts (861/RECADV), and remittance (820/REMADV) into the same event store that finance uses; don’t leave ops data marooned in a TMS or WMS. When remittance is missing, the vIBAN and amount narrow candidates; when remittance is present, ISO 20022 tags preserve it through the bank so the cash app matches lines deterministically.

Rails should be boring, fast, and cheap. In the euro area, enable SEPA Instant for key accounts; in the UK, Faster Payments; in North America, local ACH equivalents; in Brazil, Pix; in India-facing corridors, UPI-linked flows; elsewhere, wires for high values. Each payer group gets a preferred rail and a vIBAN; finance sets value-date SLAs and late-payment interest rules that your AR system can compute without spreadsheets. For export buyers that insist on USD, collect in USD and spend in USD on freight and duties; for domestic buyers that want local currency, price natively and hedge the residual. Either way, store rate source and timestamp on every monetary event so audit variance becomes arithmetic, not narrative.
Credit and terms need to be rules, not favors. Assign credit lines to payer groups, not individual ship-tos; refresh based on three inputs: external bureau data, internal DSO and deduction behavior, and macro signals for their sector. Terms should reflect logistics reality—if you know a cross-border shipment takes nine days, “net 10” is a confession that you expect late payments. Offer early-pay discounts or dynamic discounting on clean, dispute-free invoices; the ROI often beats the cost of borrowing when you factor deduction time saved. Weak payers get shorter terms and smaller releases; strong payers earn higher limits and fast-pay perks.
Returns and RTV (return-to-vendor) are where many wholesalers lose the thread. Treat RMA as a monetary object: authorization event, expected units, condition photos, carrier scan, and an automatic link to the credit note upon receipt. Never issue an open-ended credit; tie it to the RMA and the original invoice lines. If RTV freight flows on your account, rate it at creation and show the buyer the same rate on the credit; mystery freight is deduction bait. For seasonal lines, publish a markdown allowance policy up front—cash or credit, window, evidence—and let the system accrue it as sell-through reports arrive.
Treasury cares about predictability, not just totals. Build a cash calendar per geography with bank holidays and cut-offs. Set small currency buffers in high-velocity wallets to absorb weekend drift and authorization-to-clearing gaps. Ladder short-dated forwards on predictable net exposures; don’t roll 100% of coverage on one day. If trapped cash accumulates in a controlled currency, spend locally on opex where you can (warehousing, marketing) and document intercompany pricing so auditors don’t invent transfer-pricing stories for you.
Data model choices decide your month-end. Store all money as integer minor units + ISO currency. Every event—invoice, receipt, deduction, rebate accrual, credit note, payment—carries rate, source, and timestamp, and every external payment call has an idempotency key. Your auto-match engine should classify variances: FX drift, rounding, fee mismatch, partial pay, disputed line, unidentified payer. Targets worth insisting on: 98%+ auto-match by count, 95%+ by value, and <15 manual minutes per 1,000 payments to clear the rest. If you are far from those, the fix is structure, not headcount.
Analytics that predict margin are simple: DSO by payer cohort; deduction rate and time-to-resolve by cause; rebate accrual accuracy vs actual settlement; cost per successful payment (all-in rail + bank + FX + ops minutes); late-payment interest captured vs waived; FX cost in bps of billed revenue; auto-match rate; and return rate by line with credit latency. Publish the dashboard weekly; cash health is a run-rate, not an audit.
Implementation in 90 days is realistic if you stage it. First month: define payer groups, open multi-currency wallets, assign vIBANs, and wire ISO 20022 statement ingestion. Second month: codify deduction causes, integrate EDI receipts and remittances, and switch top payer cohorts to instant rails where supported. Third month: launch early-pay for clean cohorts, embed rate locks and sources on all monetary events, and publish the reconciliation and deduction dashboards. From here, tune credit lines and hedge coverage quarterly, not reactively.
There are moments to bring in a payment intermediary. If you need multi-currency accounts, virtual IBAN segmentation per buyer, and local rails across regions—without building a dozen bilateral bank connections—short-list a specialist such as Collect&Pay. The scorecard should weight corridor breadth, uptime, payout failure handling, and line-level fee/FX transparency far more than headline per-transaction fees. Opaque reporting costs more than a few basis points saved.