E-commerceStarting an Ecommerce Business: Orders, Delivery and Cash Flow
Connect ecommerce orders, stock, delivery, COD payments and customer care. A practical story with AI chat, Social Hub and room to grow into ERP.
Keep online, POS and delivery records aligned with stock reservations, inspected returns and matched settlements. A practical guide with worked examples.
Autor
Anichur Rahaman

Two shoppers want the last blue jacket: one is at the counter, the other is checking out online. Both screens show one available. Who gets it? This is a teaching example, not a customer case study. It reveals the real omnichannel problem: accepting a promise in one place before the other place knows.
More channels are useful only when the business can fulfil their promises. You do not need to sell everywhere. If you do combine a website, a shop and chat orders, they need an agreed stock authority, location rules and a visible way to handle exceptions.
This guide follows that jacket from availability to reservation, dispatch, return and cash settlement. It explains the decisions behind one reliable inventory without pretending that a shared database eliminates every mistake.
Competing stock masters are one common cause of overselling. Other causes include delayed receipts, incorrect counts, expired reservations that never release, offline POS sales and poorly mapped SKUs. Separate systems can work well when ownership, message delivery, reconciliation and failure handling are designed properly; a sync is not automatically a flaw.
The symptoms are familiar:
Separate the sales channel from the physical location. A website is a channel; an outlet is a location. An order may use stock from several locations, subject to fulfilment rules. One authoritative inventory process can publish read-only availability views to many channels. Those views may lag; the final acceptance decision must use a guarded reservation, not a stale screen.

Keep a traceable record of physical movements: receipts, dispatches, transfers, inspected returns and approved adjustments. Track reservations as commitments alongside those movements. A reservation changes what can be promised; it does not move a box out of the building. Stored balance summaries are useful, provided they are updated consistently and can be reconciled to their supporting records.
Define these quantities for each SKU, location and unit of measure. A business with damaged goods or safety stock needs more than three labels:
| Quantity | Meaning |
|---|---|
| On hand | Physically at this location, including any blocked units counted in this measure. |
| Reserved | Committed to accepted orders, not yet dispatched. |
| Unavailable | Damaged, quarantined or otherwise blocked stock, excluding reservations. |
| Safety buffer | A separately withheld allowance, if the policy uses one. |
| Available to promise | On hand − reserved − unavailable − safety buffer, when these buckets are distinct. |
Worked example: on hand 12, already reserved 3, damaged or quarantined 2, safety buffer 1. If those buckets do not overlap, available to promise is 12 − 3 − 2 − 1 = 6. An incoming purchase order is not ready-to-ship stock. Some businesses permit backorders against future receipts; show those as a separate promise with an honest date.
Now return to the last jacket. Acceptance and reservation must be one guarded operation: recheck availability and commit the reservation without another sale taking the same unit in between. A ledger alone does not enforce this. Release a reservation once on cancellation or expiry; consuming it at dispatch must not deduct physical stock twice. When a POS is offline, allocate it a separate stock allowance or restrict last-unit promises until it reconnects.
This short tour shows warehouses, outlets, stock movements and low-stock alerts in one inventory.
A shared platform can simplify a POS workflow, but the business still has to decide the rules. Test the following rather than assuming they happen automatically:
A delivery status is evidence about a parcel, not proof of cash received or a universal revenue-recognition trigger. Keep fulfilment, payment, return and settlement states distinct. Automate the routine steps where supported, and send unresolved exceptions to a named operator.
Illustrative COD example: the courier collects 100 currency units, deducts a documented fee of 8 and transfers 92. Match gross collection, the fee and the bank receipt together. If it transfers 90, the remaining 2 must stay visible for investigation rather than being silently written off. Finance determines the correct accounts and tax treatment. A return after settlement needs linked adjustments; it must not erase the original payment evidence.
The delivery tour below shows couriers, zones, drivers and live parcel status.
| Measure | Definition |
|---|---|
| Count-line accuracy | Correct SKU-location count lines ÷ checked lines × 100; report value differences separately. |
| Stock-related cancellation | Accepted orders cancelled for unavailable stock ÷ accepted orders in the same defined cohort. |
| Delivery outcome | Delivered, partial, returned and still-open parcels, split by dispatch cohort. |
| Unmatched remittance | Amount and age of unexplained differences, not just the count of files imported. |
| Settlement lead time | Delivery-to-settlement duration for settled items, plus the age of unsettled items. |
Use a baseline and targets agreed with operations and finance. Define the cohort, date window and denominator before comparing periods. There is no universal “healthy” stock percentage or seven-day COD target. These measures combine inventory, delivery and payment records; one stock ledger alone cannot produce them all.
Use the StoreConsole demo to rehearse your own order across Inventory, POS and Delivery. Confirm the modules, courier capabilities and permissions available in your configuration. Ask to see a last-unit conflict, a returned damaged item and an unmatched remittance, not only a successful sale.
Reviewed 4 November 2026. Shopify’s inventory-state documentation illustrates why on-hand stock is not all available to sell. PostgreSQL documents database locking mechanisms; they support, but do not replace, a correctly designed business transaction. The arithmetic and workflows here are teaching examples, not a product feature guarantee.
Anichur Rahaman is a software architect and the creator of StoreConsole. He designs commerce and ERP systems for growing businesses, with a focus on event-driven architecture, data integrity and self-hosted operations.
Sobre o Autor
Anichur Rahaman
Continuar Lendo