- First release: suppliers, reorder suggestions, purchase orders by e-mail, partial receiving, average cost, expected-back note, report and CSV.
by Kavio Labs · for OpenCart 4.x and 3.0.x
Purchasing for OpenCart 4.x and 3.0.x: suppliers with terms and pack sizes, reorder suggestions from stock and sales speed, purchase orders by e-mail, partial receiving that counts stock once, weighted average cost, on-order quantities and a back-in-stock date. No outside service, no OCMOD.
Purchasing for OpenCart 4.x and 3.0.x: suppliers with terms and pack sizes, reorder suggestions from stock and sales speed, purchase orders by e-mail, partial receiving that counts stock once, weighted average cost, on-order quantities and a back-in-stock date. No outside service, no OCMOD.
Stop running out. OpenCart tracks what you sell, not what you need to buy. Purchase Orders shows what to reorder, from whom, and how much, and keeps your stock right when the goods arrive.
Purchase Orders works with OpenCart 4.1.0.4, 3.0.5.1.
We list the builds we install and test on. “Tested” means the test plan ran on that build; “Supported” means the build is inside the supported range.
| Version | Range | Runs on | Status |
|---|---|---|---|
| OpenCart 4.1.0.x | 4.1.0.0 – 4.1.0.4 | PHP 8.1 – 8.3 | Tested on 4.1.0.4 |
| OpenCart 4.0.2.x | 4.0.2.0 – 4.0.2.3 | PHP 8.0 – 8.2 | Supported |
| OpenCart 3.0.x | 3.0.3.8 – 3.0.5.x | PHP 7.4 – 8.1 | Tested on 3.0.5.1 |
The Documentation tab covers the settings and every screen.
OpenCart 4.1.0.4, 3.0.5.1. Tested on OpenCart 4.1.0.4 and OpenCart 3.0.5.1. The Compatibility tab lists every version range.
No. They work through OpenCart events and standard extension types (modules, order totals, themes). No core file edits, no OCMOD patches, no theme template edits, so OpenCart updates and other extensions keep working.
Yes. Every download has a package for OpenCart 4.0.2 to 4.1.x and one for OpenCart 3.0.3 to 3.0.5, and the license key works with both. Moving from OpenCart 3 to 4 later costs nothing.
One production store domain with every subdomain (www, shop., staging.), plus local development hosts such as localhost, *.local and *.test. A store on another domain needs its own license; a second-store license is 40% off. You have 14 days after installing to enter the key. 12 months of updates and support are included; after that the extension keeps working and renewals are 50% off. How licensing works
Yes. Ask for a full refund within 30 days of your first purchase, no reason needed: open a ticket or write to [email protected] with your order number. The money goes back to the card or bank account you paid with within 5 business days of approval. Refund policy
Open a ticket from your account, so your license details are attached. We answer Monday to Friday: bug reports within 1 business day, how-to questions within 2. Support policy. Not a customer yet? Ask a pre-sales question.
9 more answers about setup and daily use in the Documentation tab.
Code: kv_purchase_orders · Version: 1.0.0 · Works with: OpenCart 4.x and 3.0.x
OpenCart sells stock but has no way to buy it. Purchase Orders brings purchasing into your admin: you see which products need reordering, turn suggestions into purchase orders in one click, e-mail them to your suppliers, and receive the goods into stock in one or several deliveries.
| Page | Contents |
|---|---|
| Installation | Requirements, installing, first steps, updating, removing |
| Configuration | Settings, number format, license |
| Usage | Suppliers, rules, suggestions, orders, receiving, report |
| FAQ | Common questions |
| OpenCart | 4.1.0.4 and 3.0.5.1 |
| PHP | 8.3 with OpenCart 4.1.0.4, 8.1 with OpenCart 3.0.5.1 |
kv_purchase_orders.ocmod.zip.kv_purchase_orders-oc3.ocmod.zip.There is nothing to refresh under Modifications: the extension uses events only.
To try the e-mail without sending, set Messages to test mode. Messages are written to system/storage/kv_purchase_orders/mail/.
Upload the new package the same way. Your data stays.
Uninstalling the module removes its tables: suppliers, purchase orders and receipts. Export the CSV first. Stock already received stays in your products.
Settings are in Purchase Orders > Settings.
| Setting | Default | Notes |
|---|---|---|
| Number format | PO-{Y}- | {Y} is the year. The running number follows, for example PO-2026-00012 |
| Default reorder point | 0 | For products without a rule. 0 means only products with a rule are suggested |
| Default target stock | 0 | For products without a rule |
| Sales speed looks back | 30 days | Counts orders in your processing and complete statuses |
| Storefront note | On | Shows the expected date on sold-out products |
| Profit Reports | On | Updates its cost price with the average cost on receipt, when that extension is installed |
| Messages | Send | The test mode writes messages to a file and sends nothing |
Enter the key from your Kavio Labs account in Settings > License. A 14-day trial runs without a key. Without a valid license the back-in-stock note and the supplier's page are off. The admin panel and all your data keep working.
Suppliers lists everyone you buy from. Open a supplier to add products with their SKU, unit cost and pack size. A supplier with purchase orders cannot be deleted: it is disabled, so old orders keep its name.
Each product has a reorder point and a target stock. They save when you leave the field. Import them by CSV with the columns product_id or model, and any of reorder_point, target_stock, supplier, supplier_sku, unit_cost, pack_qty. A new supplier name creates the supplier.
A product is suggested when stock + on order is at or below its reorder point. Only products with stock subtraction switched on are looked at.
Create drafts makes one draft per supplier.
A draft can be changed: add products with the search box, edit quantities and costs, set the expected date, shipping, other costs and a note. A warning appears below the supplier's minimum order.
Open a sent order, enter what arrived, and press Receive into stock. You can receive as often as needed. The order becomes Partly received, then Received.
You cannot receive more than is open on a line. A form sent twice counts once, and when two people receive at the same time, the second is refused if it would go over the order.
Close, the rest will not come ends a partly received order: the open quantity stops counting as on order.
Stock already in OpenCart is not touched otherwise. Correct a wrong receipt by editing the product's quantity.
On each receipt the extension keeps the last cost and a weighted average of stock and new goods. Shipping and other costs of the order are not spread over the units.
Value on order per supplier, overdue purchase orders and goods received in a period. Export CSV on the Purchase orders page gives one row per order line.
Only when you press Receive into stock.
It needs a reorder point, either its own or a default in Settings, stock subtraction switched on, and it must be enabled. What is already on order counts as stock.
Yes. The suggestion uses the cheapest active one. On a draft you can order from whichever supplier you opened it for.
No. They get an e-mail and a secret link to a printable page.
Not in this version. Amounts are in the store currency.
Not in this version. Receiving changes the product's quantity only.
On a sold-out product with an open purchase order and an expected date: "Expected back in stock on ...". Switch it off in Settings.
Yes. A receipt updates the cost price there with the weighted average. Orders already placed keep their frozen cost.
No. Receipts stay as a record. Correct the product's quantity by hand.
Buy with confidence
This product was tested on these builds. Builds we did not test are not listed.
Updates and support are included in the price. The product keeps working afterwards; renewing is optional.
How licensing worksIf it is not what you expected, tell us within 30 days and we refund the order.
Refund policyCard payments are processed by Stripe. Your card number never reaches our server.
Ask a pre-sales questionSold by Kavio Labs Software Limited, registered in England and Wales No. 17532441. About us
More for OpenCart
Server-side tracking for OpenCart 4.x and 3.0.x: purchases, refunds, add to cart, checkout, product views and leads go from your server to the free official GA4 Measurement Protocol, Meta Conversions API and TikTok Events API, deduplicated with the browser pixels through shared event ids. Consent-aware, SHA-256 hashed customer data, order status mapping, queue with retries, test mode and an event log. No paid relay, events only, no OCMOD.
The department store theme for OpenCart 4.x and 3.0.x: colour-coded departments, a department list beside the hero slider with two side promos, a big search with a department selector, tabbed product blocks, a 2 + 1 + 2 offer grid, deals of the day with real countdowns, a department showcase, a promotions band and a three-column product page with a sticky buy box. Four styles (Meridian, Harbor, Citrus, Night) and your own colours on top. Events only, no core changes.
Stop AI crawlers, scrapers, vulnerability scanners and unwanted countries before OpenCart 4.x or 3.0.x builds a page. Googlebot and Bingbot are verified by DNS and always allowed; 50+ bots get one switch each; country rules use free GeoIP databases and can close only the checkout; IP and network lists, rate limits, honeypots and the cart flood fix; a one-second challenge instead of a captcha; learning mode, dashboard, log, IP tester and Cloudflare export. No core changes, no OCMOD.