Purchase order management software with approval built in.
Draft it, route it for approval, e-mail it to the supplier and receive it straight into lot-tracked stock. Caravan Trade keeps every purchase order — and every freight, customs and clearing charge around it — on one document you can defend.
Purchase orders scattered across WhatsApp, e-mail and memory
Most trading businesses do place purchase orders — they just place them in five places at once, and none of those places talks to the stock room or the accountant.
POs by chat and spreadsheet
- Anyone can commit the business — approval is a phone call, if it happens
- Freight and clearing charges live in a different spreadsheet, in a different currency
- The goods arrive and someone re-types the whole order into the stock register
- The supplier renames their terms and history quietly rewrites itself
- Nobody can say who approved last month's biggest order, or when
POs in Caravan Trade
- A real state machine: draft, pending approval, approved, received
- Approver name and timestamp recorded on the order itself
- Landed costs on the same document, each in its own currency
- Receiving the order opens or tops up the stock lot — no re-typing
- Supplier, contact and term labels frozen at save time
The purchase order approval workflow, end to end
One document moves through five deliberate steps. Each transition is checked, so an order can never skip its approval or be received twice.
1. Draft
Lines, quantities, unit costs and batch details — editable for as long as it stays a draft.
2. Submit
The buyer sends the draft for approval; it now waits in Pending approval.
3. Approve
An approver signs off — name and timestamp are stamped onto the order.
4. Send
E-mail the approved order to the supplier's contact, PDF attached.
5. Receive
Goods arrive; each line lands in inventory as a new or topped-up stock lot.
Cancellation is allowed at any open stage — and once an order is received or cancelled, it is closed. The transitions are row-locked, so two people acting on the same order at the same moment cannot double-receive it.
Submit, approve, receive — in that order, every time
Approval here is not a checkbox: it is a state the order must pass through. Submitting and approving are two separate actions, so a review step is built into the document's own lifecycle — and composable permission groups decide who may take which action. Only an approved order can be received into stock, and only an approved or received order can be e-mailed to the supplier.
- Draft → Pending approval → Approved → Received, with Cancelled from any open stage
- Approver's name and the approval timestamp recorded on the order
- Creator recorded too — who raised it and who signed it off are both facts
- An unapproved order physically cannot become stock
- Row-locked transitions: a concurrent duplicate receive fails instead of slipping through
Every landed cost, in the currency it was billed
Freight, transport, documentation, insurance, handling, customs and duty attach to the order itself — each one billed by its own partner, whether that is a courier, a clearing agent or any other business in your partner book, and each one in its own currency. The order's grand total stays a clean goods-only figure; the costs sit next to it as a per-currency breakdown, so a dollar order with rupee freight is never mashed into one misleading number.
- Seven cost types: shipping, transport, documentation, insurance, handling, customs / duty, other
- Billed-by partner snapshotted per cost — courier, clearing agent, transporter, anyone
- Each cost in its own currency, shown as a per-currency breakdown
- Goods total = quantity × unit cost, and nothing else — GST belongs to the purchase invoice
- Money held in minor units, so totals reconcile to the paisa
A goods receipt that opens the stock lot itself
Each order line already knows its inventory intent: open a new stock lot, or add to an existing one. When the approved order is received, every line lands in lot-tracked inventory at that moment — a new lot inherits the batch identity captured on the line, a top-up rolls the existing lot's moving-average cost, and the lot that was touched is written back onto the line so a later correction reconciles the right stock.
- Batch identity per line: supplier lot number, manufacturing and expiration dates
- New lot or top-up, chosen per line before the goods arrive
- Deliver-to warehouse on the header, overridable line by line — one container, two stores
- Custom fields on the line are snapshotted onto the freshly opened lot
- Quantities in exact base units — grams for weight — so part-tins never drift
Supplier management that never rewrites history
The moment an order is saved, it freezes a snapshot of the supplier — name, GSTIN, state, address — plus the contact person and billing address you chose from the supplier's book, and the labels of the payment and delivery terms. Rename the supplier, retire the contact, reword the term: every placed order still reads exactly as it read the day it was placed.
- Supplier name, GSTIN, state and address snapshotted onto the order
- Contact person and billing address chosen from the supplier's own records
- Payment and delivery terms are admin-managed; their label is frozen per order
- The supplier's own quote or order reference recorded alongside yours
- Expected delivery date and free-form notes on the header
E-mail the PO to the supplier — PDF attached, nothing re-typed
Once an order is approved, one click opens a compose window pre-addressed to the supplier contact frozen on the order, with the subject, a courteous body and the order value already filled in — and the purchase order itself attached as a PDF, printed under the identity of the subsidiary that raised it. Supplier quotes, contracts and shipping documents can be attached to the order too, so the paper trail lives with the document it belongs to.
- Compose pre-filled from the order: recipient, subject, body, order value
- The PO travels as a PDF under the raising subsidiary's identity
- Only an approved or received order can be sent — a draft never leaves the building
- File attachments on the order for quotes, contracts and shipping papers
- Every order gets its own document number, keyed to its order date
“Nothing gets ordered without a second pair of eyes any more — and when the container lands, the stock lots are already waiting for it.”
See it on your own suppliers. Book a 30-minute demo — no credit card, no obligation.Exact quantities, honest money
A purchase order is a financial commitment. The arithmetic underneath it is deliberately strict, so the number you approve is the number you meant.
- Goods-only total
- The order's grand total is the sum of quantity × unit cost across its lines — nothing else. GST is calculated on the purchase invoice raised from the received order, and additional costs stay in their own per-currency breakdown, so no figure hides inside another.
- Grams are canonical
- Weight-based lines are stored in grams, the exact base unit — order 12.5 kg or 250 g and the total is computed from an exact integer, never a rounded float.
- Priced per your unit
- A unit cost is quoted per its own basis — per kilogram, per gram, per piece — independent of the unit the quantity was typed in, and the two are dimension-checked before a line will save.
- Minor units
- Every amount is held in minor units (paise, cents), so line totals, the goods total and the cost breakdown reconcile exactly — in any currency the order or its costs are billed in.
- Sold by area too
- Goods priced by area — carpets, textiles — carry width, height and piece count per line, with the derived area as the priced quantity, exact at any scale.
The complete capability list
No feature tiers hiding the approval workflow behind an upgrade. This is what the purchasing module does.
Order lifecycle
The state machine every order moves through.
Order content
What a line can carry, beyond product and price.
Money & landed costs
What the order costs, and in which currency.
Supplier & communication
The people on the other side of the order.
Purchasing is wired into the rest of your trade
A purchase order is only trustworthy when the stock, the invoice and the reports are consequences of it — not copies of it.
Inventory
Receiving opens or tops up the batch-tracked lot — see how lots work.
Purchase invoicing
Raise the GST invoice from the received order, whole or line by line — billing & invoicing.
Reports & analytics
Purchase spend, supplier and cost views over the same live data — reports & analytics.
Partners
Suppliers, couriers, clearing agents and transporters, each with contacts and terms.
Multi-subsidiary
Each business unit raises its own orders under its own printed identity.
Users & permissions
Composable permission groups — the buyer and the approver hold different rights.
Analytics assistant
Ask “what did we buy from Pampore Growers this quarter?” in plain English.
Custom fields
Your own attributes on orders and lines, defined by your admin, no release needed.
Trades where the purchase is the risk
If a single order can tie up a month of working capital, the approval, the landed cost and the receipt deserve better than a chat thread.
Importers & exporters
Foreign-currency orders with rupee clearing charges — kept apart, per currency, per partner.
Wholesale distribution
High-frequency replenishment where an unapproved order is margin quietly leaking.
Dry fruits, nuts & spices
Every consignment has a lot number and a shelf life — captured on the order line, inherited by the stock.
Commodities by weight
Gram-exact quantities and per-kg pricing, so a 12.5 kg part-order totals exactly.
Carpets & textiles
Lines priced by area, with width, height and piece count on the order itself.
Seasonal buyers
Big pre-season commitments that deserve a recorded approval, not a remembered one.
Questions buyers actually ask
What kind of business is this purchase order software built for?
Wholesalers, distributors, importers and exporters who buy physical goods in bulk — usually by weight, often across borders — and need each order approved, sent to the supplier and received into stock without re-typing anything. It is not a retail procurement portal.
How does the PO approval workflow work?
A purchase order starts as a draft, is submitted for approval, and sits in Pending approval until someone approves it — the approver’s name and the approval timestamp are recorded on the order. Only an approved order can be received into stock or e-mailed to the supplier, and any open order can still be cancelled.
Can the person who raises an order also approve it?
Submitting and approving are two separate actions, and access is governed by composable permission groups — so you can give buyers the right to raise and submit orders without the right to approve them, putting a second pair of eyes on every commitment if that is how you want to run it.
How are landed costs like freight and customs handled?
Additional costs attach to the order itself: shipping, transport, documentation, insurance, handling, customs or duty — each billed by its own partner (a courier, a clearing agent, a transporter, anyone in your partner book) and each in its own currency. They are shown as a per-currency breakdown next to the order and are never silently folded into the goods total.
What happens when a purchase order is received?
Receiving pushes each line into inventory at that moment: a line either opens a new stock lot carrying the batch identity captured on the line — supplier lot number, manufacturing and expiration dates — or tops up an existing lot, rolling its moving-average cost. The lot that was touched is written back onto the line, so a later correction reconciles the right lot.
Does it support foreign-currency purchasing?
Yes. Every order carries its own currency, and each additional cost carries its own currency too — so an order in dollars with freight in rupees stays exactly that, with money held in minor units so totals reconcile to the paisa or cent.
Can I e-mail the purchase order to my supplier from the app?
Yes. Once an order is approved (or received), a compose window opens pre-addressed to the supplier contact frozen on the order, with the subject, a courteous body and the order value filled in — and the purchase order attached as a PDF.
What about payment and delivery terms?
Payment and delivery terms are managed by your admin as master data, and the label is frozen onto the order the moment it is saved — so renaming “Net 30” next year never rewrites what last year’s orders said.
Where to go next
Inventory management
Where the goods receipt lands: batch & lot tracking, moving-average costing and the movement ledger.
Read about inventory →Billing & invoicing
The GST purchase invoice raised from a received order — and the sales side of the same discipline.
Read about invoicing →Pricing
Straightforward plans with the approval workflow included, not gated behind a tier.
View pricing →Walk one order from draft to stock
Thirty minutes, your suppliers, your goods. We will raise a purchase order, route it through approval, attach the freight and clearing costs, and receive it into a stock lot in front of you. We usually reply within one business day.
Already a customer? Log in to your back office.