Key topics
Related public pages
If you need the product, API or operations page rather than only the article, start with these VPOS.am sections.
B2B payment should be connected with invoice and warehouse
Wholesale amount without invoice id, customer and warehouse reserve does not explain which order can ship.
In distribution and wholesale trade, payment rarely closes a simple online order. It belongs to customer, contract, invoice, order lines, warehouse reserve, delivery route and accounting document. If payment link is sent as generic amount, warehouse and accounting close operations manually.
Practical model creates payment request from CRM/ERP: customer id, invoice id, order id, warehouse reserve id, amount, currency, due date and expiration are fixed before payment. Shipment starts only after verified payment and business rules pass.
- connect payment request with B2B invoice id;
- store customer id, order id and warehouse reserve id;
- do not ship goods from screenshot or return URL;
- show warehouse only verified/approved statuses.
Partial payments and credit limit need business rules
Prepayment, balance, credit limit and post-payment terms should not be mixed with technical payment status.
Wholesale customer can pay prepayment, balance before shipment, several partial payments or work under internal credit limit. These rules belong to company business policy, not to the payment provider itself.
Backend should distinguish payment verified, business approved, reserve released, shipped and accounting closed. Credit limit or post-payment term needs contract rules, responsible manager and audit trail. If payment status is pending, warehouse should not treat order as fully ready.
- separate prepayment, balance due and overpayment;
- store credit limit as business rule, not payment status;
- release warehouse reserve only after verified/approved event;
- manual override needs actor, reason and timestamp.
Delivery, returns and ERP reconciliation should be events
Partial shipment, product return, refund and overpayment should preserve invoice history instead of overwriting it.
Wholesale order is often shipped in batches, changed by stock availability or partially returned. Payment history should store original payment, partial shipment, return, refund, overpayment and adjustment events separately.
Daily reconciliation compares provider report, B2B invoices, warehouse reserves, delivery notes, returns, refunds and ERP/accounting export. Manager sees which invoices are closed, where debt remains, where overpayment exists and where manual review is needed.
- do not delete original payment when product is returned;
- connect delivery batch with invoice/payment context;
- store overpayment as separate ledger event;
- reconcile provider reference with ERP document id.
FAQ
Can wholesale invoice be paid by link?
Yes, if link is connected with B2B invoice id, customer id, order lines, amount, currency and expiration, and status is verified server-side.
How should partial wholesale payment be recorded?
Store prepayment, balance due and overpayment as separate ledger events connected with one invoice/order context.
When can warehouse reserve be released?
After verified payment and company business rules pass: for example manager approval, credit limit or full amount closure.