Collect, track and reconcile payments across your entire sales operation. One integrated payment layer for field reps chasing outstanding balances, retailers paying at checkout, and distributor collections rolling up to the same ledger.
Trade credit is the default in B2B distribution, and most of it is late. The digital rails to fix this already exist in the markets where traditional trade dominates. The channel has not caught up.
When ordering is digital and collection is not, the distributor runs two ledgers. The retailer cannot see what is owed until a rep arrives. The rep carries cash. Finance reconciles days later, and every unpaid invoice sits in that gap. Salescode eB2B closes it by putting the invoice and the payment in the same screen the retailer already uses to order. Payment is allowed against invoices only, and only for delivered orders, so cash never moves ahead of the goods.
Four stages, from a fragmented order record to a reconciled payment.
Orders placed in the eB2B app and orders placed through other channels, including field reps, land in one list with a source tag and a status: placed, confirmed, rejected, out for delivery, delivered, or on hold. Where an invoice has not arrived, the invoice fields show a dash rather than a blank.
Proforma invoices arrive with item-level detail, and final invoices stay visible for six months. Credit notes and debit notes arrive in the same format as sales data, carrying their number, date, the order they were raised against, and their total.
Unpaid and partially paid invoices carry a checkbox. The payable amount recalculates on every selection following one rule: proforma invoice plus debit note minus credit note. At zero or less, or on a credit note alone, the Pay button stays disabled.
The backend creates the payment order before the SDK opens, signs every request with a timestamp and signature, and reuses the trade number on retries so a repeated attempt cannot become a second charge. A webhook returns the result and moves the invoice to its final status.
A single list on a 15-day default window, with total outstanding amount for the selected range at the top. Search by invoice number. Sort by order date or invoice date, newest first.
Order without invoice, invoice without order, or both. Missing values render as a dash rather than an empty field, so a retailer never reads a gap as a zero.
CN and DN entries sit alongside invoices at header level: number, date, the order raised against, and total amount. They enter the payable calculation directly and are not held at item level.
When exactly one invoice is selected, the retailer can enter an amount below the invoice total. The input is validated against the invoice amount before it reaches the gateway.
No cap on invoices selected. A summary bar shows total payable and the invoice count, and expands into a sheet listing each selected invoice with its number, date, and amount, with a deselect action on every row.
Filter by order status, payment status, and order source. Payment status covers unpaid, partially paid, in progress, and paid. In-app notifications fire against the invoice due date.
The retailer opens one screen. Total outstanding amount sits at the top for the selected date range. Each card carries the order number and date, the invoice number and date, the ordered and invoiced quantity in cases, the ordered and invoiced net amount, then voucher amount, discount, and tax, and finally the outstanding balance or final billed amount. Two tags run on every card: one for order source, eB2B or field rep, and one for order status. Tapping through to item level shows every SKU with its code, name resolved from the product master, quantity in cases, net price, SKU-level voucher, discount, and tax. Figures shown in product screenshots are illustrative interface examples, not performance claims.
Payment status arrives from two directions. The gateway webhook updates the invoice in real time as in progress, paid, partially paid, or unpaid. The DMS covers what the webhook cannot see: settlements taken offline, and any sync gap. A daily incremental batch carries all pending and paid statuses since the last record, and a real-time delta fires the moment an invoice is settled at the DMS end.
Credit is exposed the same way. The DMS publishes customer credit limit, outstanding balance, available balance calculated as limit minus outstanding, and a last-updated timestamp, refreshed daily. Rollout is controlled: the payments module is released to a named list of distributor codes, so a bottler can pilot collection on one territory before opening it to the network.
No. Salescode eB2B does not hold a stored balance for the retailer. It displays invoices, credit notes, and debit notes, then routes a payment against a specific invoice through an integrated payment gateway. No float is held on the retailer's behalf.
No. An invoice is generated only for a delivered order, and payment is allowed against invoice data, never against order data. An order with no invoice yet shows no payment option.
Partial payment is available when exactly one invoice is selected. The retailer enters an amount, which is validated against the invoice total before the payment order is created. Partial payment across a multi-invoice selection is not permitted.
The payment order is created server-side before the SDK opens, and the trade number is reused on retries, so a repeated attempt resolves to the same payment order rather than a second charge. The invoice moves to in progress until the webhook confirms the outcome.
The DMS pushes the settlement back to the app, as a daily incremental batch and as a real-time delta when the invoice is settled. An invoice already marked paid through a digital payment is never overwritten by a DMS update.
The payable amount is the proforma invoice plus any debit note minus any credit note. If that total is zero or less, or if a credit note is selected on its own, the Pay button remains disabled.
Card, QR, and local real-time payment rails through the integrated gateway. The exact rail set is market-specific: [VERIFY: V6].
Final invoices remain visible for six months. PDF invoice and proof-of-delivery storage sits outside the app backend.
Salescode eB2B turns the retailer ordering app into the collection channel. See the order, invoice, credit note, outstanding balance, and payment flow on a live walkthrough with your own distributor data.
Book a demo3% minimum uplift, contractually guaranteed. Includes a 110% refund if the technical success criteria are not met.
The AI-native route-to-market platform for CPG & FMCG enterprises — delivering a contractually guaranteed sales uplift, backed by IEEE peer-reviewed ML.
1800 212 8898
Mon–Fri · 10:00–19:00 IST
business@salescode.ai
Talk to our team
Social