Sekar Purchasing
A request that knows who must approve it.
Sekar Purchasing moved purchase requests out of chat and into one workflow: SKU lines, role-and-value approval, a purchasing confirmation, and a requisition posted to Accurate Online.
How a purchase request runs now
6 steps
- RequestPP raised with SKU lines
- CheckKabag confirms the request
- PricePurchasing sets price and unit
- ApproveBy value: kabag-purchasing, GM, director
- PostRequisition to Accurate
- OrderPO checked back to the PP
The next request starts here
The rule existed. The route did not.
Purchasing started in chat: a line of text, a photo of a catalogue page, a quantity that changed twice. Nothing in the message said which approval the value needed.
The rule was real — Kabag, GM, director, by category and value — but applying it meant forwarding a message and waiting for whoever was in the office. A request could be approved by the wrong desk and only noticed later.
Purchasing then re-typed the approved request into Accurate Online. When the purchase order came back, nothing checked it against what had actually been approved.
The request became the record.
The approval matrix already existed as a spreadsheet. The workflow made it the route, then kept the record honest after the order.
Request by chat
Itemised request
SKU, quantity, unit, needed date, notes and attachments in one record.
Approval by forward
Rule-based chain
Category and entry value choose the approver; the next role is the only one that can act.
Re-typed into Accurate
Requisition posted
The approved PP becomes the Accurate purchase requisition.
No check after the PO
PO audit
Price and quantity differences are flagged against the request they came from.
A request, its prices, and its paper trail.
Each change carries its signer. The current price is the latest row, never an overwritten cell.
Itemised requests
One item category per request, with SKU snapshots, quantity, unit, needed date, notes and attachments. New SKUs are proposed through the same system.
Approval by role and value
Kabag first, then purchasing confirmation, then kabag-purchasing, GM and director as the entry value requires. Sequential, visible, and revertable.
Purchasing confirmation
Price, quantity and unit are set per line against the SKU's maximum buy price. Every change is appended with its author and role.
Accurate Online, both ways
Approved requests are pushed as purchase requisitions. The webhook pulls items, orders and requisitions back, and flags price or quantity drift.
Lists built for the queue
Search by PP number or item, filter by status, creator and date, sort, and export to XLSX. Requests needing your action come first.
Master data that stays current
Items, units, maximum prices, required approval levels, categories, branches and divisions, synced with Accurate.
Accurate Online stays the ledger.
The purchasing system owns the request and the approval. Accurate owns the stock and the order.
- Laravel 11 · MySQL
- API, approval rules, queue and the Accurate integration.
- Next.js 14
- The request, approval, item and purchase-order surfaces.
- Accurate Online API
- Signed requisition push, plus webhooks for items, purchase orders and requisitions.
- XLSX export
- Request and purchase-order lists, including ratio-converted order quantities.
Approved once, then posted.
Requests, approvals and orders run in one workflow, with approval by role and nominal, and the order posted to Accurate Online. The purchase order is checked back against the request that started it.
- The next approver is decided by the rule, not by who is nearby.
- Prices and quantities carry an append-only history with their signer.
- The requisition reaches Accurate without being re-typed.
- Purchase orders are audited against the request, not trusted on arrival.

Client
Sekar Laut
A food manufacturer in Sidoarjo. Sekar Purchasing is its internal procurement program, linked directly to Accurate Online. It has no public product site.
Send one workflow. We'll look at it with you.
Tell us the task that costs your team the most hours, and how it runs.
The first conversation is free, with no commitment.