Appearance
Procurement And Stock Control Playbook
This playbook explains the practical inventory operating model for a stock-heavy back-office business such as a restaurant, retail store, clinic store, workshop, school kitchen, or production store.
It focuses on the full path from operational item setup to procurement, receipt, stock issue, stock take, supplier returns, payable invoices, supplier payments, wastage, and accounting review.
For manufacturing, this guide covers the material side of the production flow: raw-material purchase, goods receipt, warehouse availability, material issue, supplier invoice matching, supplier payment, and stock/GL reconciliation. The customer order, production execution, dispatch, customer invoice, and employee payroll closeout are handled by their owner modules.
Scope
Use this guide when the organisation needs to manage:
- raw materials and ingredients
- consumables
- reusable operating items
- store receipts
- internal issues to operating teams
- supplier returns
- supplier invoices and payments
- stock counts and adjustments
- expiry, batch, lot, and damaged stock
- inventory accounting and cost of goods tracking
For a restaurant, Pinkapple ERP is the back-office inventory and accounting system. The restaurant may still use a separate front-office POS for menu sales. At the end of each trading day, the POS sales summary can be posted into Accounting while inventory continues to manage the physical store.
Main Workspaces
| Area | Workspace | Use |
|---|---|---|
| Item identity | Administration -> General Setup -> Operational Items | Define the business item identity shared across inventory, billing, POS, procurement, and reporting. |
| Units | Administration -> General Setup -> Units Of Measure | Maintain KG, LTR, PCS, BOX, CASE, TRAY, BUNCH, and valid conversions. |
| Locations | Administration -> General Setup -> Operational Locations or Inventory -> Setup -> Warehouses | Maintain stores, cold rooms, kitchens, service areas, and other stock locations. |
| Stock setup | Inventory -> Setup -> Stock Items | Make an operational item stock-managed and define tracking, category, UOM, and valuation behavior. |
| Procurement | Inventory -> Operations -> Procurement | Create requisitions, purchase orders, goods receipts, supplier returns, and procurement debit notes. |
| Stock ledger | Inventory -> Operations -> Stock Movements | Review and create controlled movements where a source workflow is not available. |
| Balances | Inventory -> Operations -> Stock Balances | Review on-hand, available, reserved, batch, lot, expiry, and valued balances. |
| Counts | Inventory -> Operations -> Stock Take | Freeze, count, review variances, approve, and post count adjustments. |
| Payables | Billing -> Operations -> Invoices | Match supplier invoices and apply supplier debit notes where configured. |
| Payments | Payments -> Bulk Payments | Pay approved supplier invoices through valid payment instruments. |
| Accounting | Accounting -> Operations and Reporting | Review GL postings, trial balance, income statement, balance sheet, and stock valuation. |
Key Concepts
Supplier Party
A supplier must exist as a party before procurement, supplier invoices, or supplier payments can use it reliably.
Use Parties -> Operations -> Organisations for company suppliers such as food distributors, farms, cleaning suppliers, packaging suppliers, landlords, utility providers, or service vendors. Use Parties -> Operations -> Individual Clients only when the supplier is a natural person.
Before creating a new supplier, search existing parties by name, phone, email, registration number, or trading name. If the party already exists, add the Supplier role instead of creating a duplicate.
Minimum supplier readiness:
- party exists as an organisation or individual
- Supplier role is assigned and approved where approval is required
- phone, email, and address are captured
- tax or registration details are captured where applicable
- bank account or payout contact is recorded where payment will be made
- payment instrument is created and verified where payment batches require it
If a procurement form says the counterparty must use party type Supplier, it usually means the selected party does not have the Supplier role, the role is not active or approved, or the selected party shape is not allowed by the Supplier role type.
Operational Item
An operational item is the shared business identity. It answers, "What is this thing?"
Examples:
- Tomatoes
- Chicken breast
- Cooking oil
- Paper napkins
- Dinner forks
- Dishwashing liquid
- Bottled water
- LPG gas refill
Operational items are created before stock items. They can also be reused by pricing, billing, POS, document transactions, procurement, and reporting.
Stock Item
A stock item is the inventory-controlled version of an operational item. It answers, "How do we hold, move, count, value, and track this thing?"
Create a stock item only when quantity balance, warehouse location, movement, reservation, stock take, expiry, batch, lot, or valuation must be controlled.
Stock Category
Stock categories group stock for policy, reporting, handling, and accounting. Good categories make reporting and GL mapping cleaner.
Restaurant examples:
- Fresh Produce
- Meat And Poultry
- Fish And Seafood
- Dry Foods And Staples
- Cooking Ingredients
- Dairy And Chilled Stock
- Beverage Stock
- Table Service Consumables
- Reusable Operating Items
- Cleaning And Hygiene Stock
- Packaging And Takeaway Supplies
Warehouse Or Stock Location
Use stock locations for where stock is physically or operationally held.
Restaurant examples:
- Main Store
- Cold Room
- Kitchen
- Beverage Store
- Restaurant Floor / Service
- Cleaning Store
- Damaged Goods / Quarantine Area
Avoid creating duplicate warehouses for the same physical space unless they truly represent different stock responsibility.
For restaurant management reporting, it is valid to keep one physical main store and add operating stores for kitchen responsibility when the business needs department profitability. For example:
- Main Store
- Local Food Store
- Harakat Store
- Barista Store
In that model, supplier receipts land in Main Store. Stock is then transferred to the operating store that will control or consume it. The transfer is not COGS yet because the business still owns the inventory. COGS or consumption happens when stock is issued, wasted, disposed, or adjusted out from the operating store.
Example:
- Receive 20 L cooking oil into Main Store.
- Transfer 5 L from Main Store to Harakat Store.
- Issue 3 L from Harakat Store for kitchen use.
- Return 2 L unused oil to Main Store if it was not consumed and remains acceptable.
- Use the Stock Movement report filtered to Harakat Store to support Harakat's inventory consumption value for the period.
Reusable items are different. Plates, forks, trays, glasses, and utensils may be issued to an operating store and stay there for normal service. They should be controlled by stock count, condition, breakage, loss, return, and replacement, not by daily meal consumption.
Batch, Lot, Reference, And Expiry
Batch and lot numbers are not meant to be random guesses.
Use them to identify the received stock layer that later issues, returns, counts, or expires. If the supplier provides a batch or lot number, use it. If the supplier does not provide one, use a controlled internal reference such as:
text
REC-20260305-NAKASERO-001Good references should point users back to a source document, receipt, supplier delivery, or approved stock decision.
Expiry should come from supplier packaging, receiving inspection, or business policy. Do not invent expiry dates just to pass a form.
Recommended Setup Sequence
Do setup in this order.
- Confirm business units and active operating locations.
- Confirm units of measure and conversions.
- Create operational item categories if the tenant uses them.
- Create operational items.
- Create stock item categories.
- Create stock items linked to operational items.
- Configure tracking rules: batch, lot, serial, expiry, or none.
- Configure warehouses and stock locations.
- Configure suppliers and supplier party roles.
- Configure document transaction types and approval workflows.
- Configure inventory GL accounts and posting rules.
- Configure payment instruments for supplier payments.
- Load opening stock through migration if the tenant is onboarding existing stock.
- Begin normal procurement and movement operations only after the opening position is signed off.
Restaurant Master Data Pattern
For a restaurant back-office implementation, create store items rather than menu items.
Do create:
- Tomatoes
- Onions
- Chicken breast
- Beef
- Rice
- Cooking oil
- Fresh milk
- Eggs
- Bottled water
- Paper napkins
- Toothpicks
- Takeaway containers
- Dinner plates
- Dinner forks
- Dishwashing liquid
- Surface sanitizer
Do not create menu dishes as inventory stock items unless the business is explicitly managing recipes or production output through Pinkapple.
Examples of menu items that normally belong in the front-office POS, not the back-office store:
- Chicken pizza
- Beef burger
- Grilled tilapia
- Cappuccino
- Chicken curry
Procurement Lifecycle
Use the procurement lifecycle when stock is bought from suppliers.
Typical flow:
- Purchase requisition
- Purchase order
- Goods receipt
- Supplier invoice
- Supplier payment
Where returns happen:
- Goods receipt
- Supplier return
- Supplier debit note
- Debit note application to invoice
- Payment of remaining outstanding balance
Purchase Requisition
Use a requisition when a department or storekeeper requests stock but procurement has not yet committed to a supplier.
Good requisitions include:
- requesting location or department
- required date
- stock items and quantities
- reason for purchase
- notes for urgency or special handling
Purchase Order
Use a purchase order when the supplier, agreed items, quantities, price, currency, and delivery terms are known.
Before approving a PO, check:
- supplier is correct and has supplier party role
- item lines are stock items or valid procurement items
- quantities and UOM are realistic
- expected prices are correct
- tax treatment is correct
- delivery location is correct
- approval status is complete
Partial Goods Receipt
A goods receipt records what actually arrived.
If a PO has 100 KG and the supplier delivers 40 KG, receive only 40 KG. Later receipts can receive 30 KG and 30 KG. The system should block further receipt unless an over-receipt tolerance has been explicitly configured.
Never receive items that were not on the source PO unless the business creates a controlled change or a separate PO.
Good receiving practice:
- open the receipt from the source PO where possible
- keep source document fields locked or prefilled
- verify supplier lineage
- verify received quantity and UOM
- record batch, lot, expiry, and condition
- record short delivery, damage, or rejection notes
- approve the receipt before using it for supplier invoice matching
- confirm approval finalizes the expected stock and GL consequences before the material is issued to production
For production stores, do not assume a receipt is usable just because the form was saved. Check that the approved receipt created or updated stock balances for the correct item, warehouse, batch, lot, expiry, and stock status.
Supplier Return
Use supplier return when stock must go back to the supplier after receipt.
Common reasons:
- damaged stock
- wrong item
- expired or short-dated stock
- failed quality inspection
- excess supply not accepted
Supplier return must not exceed received quantity. It must also respect available stock. If the received stock has already been issued to the kitchen or consumed, users should not return it as if it were still in store.
When batch, lot, or expiry exists, return from the exact available batch or lot. Do not type a new random batch number for returned stock.
Supplier Debit Note
A supplier debit note records the financial claim against the supplier after an approved return or agreed supplier credit.
Debit notes should:
- come from an approved supplier return or valid source
- use the same supplier lineage
- not create another stock movement
- reduce the payable or outstanding invoice amount
- have a clear reason and reference
Supplier Invoice
Supplier invoices should be matched against completed goods receipts or other approved source documents.
Before posting a payable invoice, check:
- supplier matches the PO and GRN lineage
- business unit and currency are correct
- items match received lines
- invoice quantity does not exceed received and uninvoiced quantity
- tax and price differences are within policy
- debit notes or returns are considered before payment
Supplier invoices are payable obligations. They are not the same as customer receivable invoices. Where the Billing workspace is used for supplier invoice matching, the form should be opened from the approved procurement source or use lookups for the source document, supplier, receipt, and outstanding balance. Users should not memorise invoice source references or type internal document identifiers by hand.
Good supplier invoice fields:
- supplier invoice number from the supplier document
- supplier selected from approved Supplier parties
- source goods receipt or approved procurement source
- supplier invoice date
- due date
- currency
- invoice attachment or supporting document
- matched receipt lines
- tax and totals
- notes for price differences, shortages, or debit notes
Supplier Payment
Pay supplier invoices through controlled payment batches.
Before executing payment, check:
- the invoice is approved or posted according to policy
- outstanding balance is correct
- debit notes have been applied
- payment instrument is valid
- selected source document matches the payment line
- amount equals the intended outstanding balance
- approval is complete
If a payment batch line is attached to the wrong source invoice, cancel the wrong line and create a fresh batch line from the correct source. Do not execute a mismatched line.
Supplier payment should be based on the current outstanding payable balance, not necessarily the original invoice total. Approved supplier returns and debit notes may reduce the amount that should be paid.
Stock Movement Lifecycle
Use stock movements for inventory events that are not fully handled by a source workflow.
Receipts
Use receipt when stock enters a warehouse.
Preferred source:
- procurement goods receipt
- opening stock migration during onboarding
- production output receipt
- customer or internal return where supported
Avoid casual manual receipts for supplier deliveries when procurement documents are available.
Issues
Use issue when stock leaves inventory for consumption or operational use.
Restaurant examples:
- Main Store issues tomatoes to Kitchen
- Main Store issues napkins to Restaurant Floor / Service
- Cleaning Store issues dishwashing liquid to Cleaning Team
- Cold Room issues chicken breast to Kitchen
The issue should include:
- source warehouse
- destination or consuming team where applicable
- stock item
- quantity and UOM
- batch, lot, and expiry where required
- reason or source reference
Transfers
Use transfer when stock moves from one stock location to another but remains inventory.
Examples:
- Main Store to Cold Room
- Main Store to Beverage Store
- Main Store to Kitchen holding store
- Branch store to another branch where allowed
Returns To Store
Use return-to-store or reversal-style workflow where stock issued to an operating location is returned unused.
Examples:
- unopened milk returned from Kitchen to Cold Room
- unused napkin packs returned from Restaurant Floor to Main Store
- reusable trays returned from event catering to Main Store
Preserve the original batch, lot, expiry, and condition when returning stock.
Wastage, Damage, Disposal, And Spoilage
Do not hide wastage through silent adjustments.
Use a controlled reason and notes for:
- spoiled tomatoes
- wilted lettuce
- expired milk
- damaged eggs
- spoiled meat
- broken plates
- broken glasses
- lost cutlery
- damaged packaging
- contaminated cleaning stock
Where approval is required, submit the movement or stock take variance for approval.
Accounting should reflect the true business event:
- food spoilage to wastage or direct cost
- cleaning consumables to cleaning consumable expense or consumption account
- broken reusable items to breakage or operating supplies loss
- stock count variance to stock variance
Do not reduce sales to cover stock wastage. Sales and stock losses are separate business facts.
Reusable Operating Items
Reusable items such as plates, forks, knives, cups, trays, and utensils should not be consumed every time customers are served.
They usually move through:
- purchase or receipt
- issue to operating location
- return to store
- breakage
- loss
- disposal
- replacement
- stock count variance
Treat them separately from food ingredients and cleaning consumables.
Opening Stock Migration
Use opening stock migration only when onboarding an existing stock position.
Recommended approach:
- Confirm the tenant is in migration mode.
- Confirm the migration snapshot date.
- Prepare approved opening stock quantities and values.
- Generate the opening stock template from Data Migration.
- Validate the file.
- Execute once.
- Verify stock movements, balances, and GL impact.
- Stop using migration once normal operations begin.
Do not mix opening stock import with normal supplier receipts for the same opening stock. That creates duplicated inventory.
Stock Take And Freeze Controls
Use stock take to compare physical quantity against system quantity.
Recommended flow:
- Create stock take session.
- Select warehouse, item group, or scope.
- Freeze or control movements in the counted scope where policy requires.
- Count stock by item, location, batch, lot, and expiry.
- Review variances.
- Investigate material differences.
- Submit for approval.
- Post approved adjustments.
During a freeze, receipts, issues, transfers, returns, and adjustments in the frozen scope should be blocked or controlled. If an urgent movement is required, record the exception so the count can still reconcile.
Inventory Accounting
Inventory affects the financial statements.
Typical accounting treatment:
| Event | Accounting Meaning |
|---|---|
| Opening stock migration | Debit inventory asset, credit opening balance contra or migration equity/control account. |
| Goods receipt | Debit inventory or goods received control, credit accrual or receiving offset according to policy. |
| Supplier invoice | Credit accounts payable and clear receipt/accrual or post purchase liability according to matching setup. |
| Supplier payment | Debit accounts payable, credit bank, cash, mobile money, or payment clearing. |
| Stock issue to kitchen | Credit inventory, debit food consumption or cost of goods sold where policy treats it as direct cost. |
| Cleaning supplies issue | Credit inventory, debit cleaning consumables or operating expense. |
| Wastage/spoilage | Credit inventory, debit wastage, spoilage, or variance account. |
| Breakage/loss | Credit inventory, debit breakage, loss, or operating supplies expense. |
| Supplier return | Credit inventory or reverse receipt value, with supplier credit/debit-note workflow. |
| Landed cost | Increase inventory value or allocate acquisition cost according to policy. |
Cost of goods sold is not a foundation account type by itself. It is a direct expense category presented separately on the income statement so gross profit can be shown before operating expenses.
For restaurant reporting, food consumption, beverage consumption, kitchen consumables, service consumables, wastage, and breakage should be grouped separately from rent, utilities, salaries, bank charges, and other operating expenses.
Daily Restaurant Back-Office Pattern
Restaurant sales can be posted as end-of-day summaries instead of menu-level sales.
Example EOD sales summary:
| Settlement Channel | Amount |
|---|---|
| Cash | 2,150,000 |
| Card settlement clearing | 3,100,000 |
| MTN Mobile Money | 1,850,000 |
| Airtel Money | 950,000 |
| Other receivable | 400,000 |
The total should equal the day's restaurant sales posting. Cash, card, mobile money, and receivable balances should then reconcile through banking, mobile money settlement, and clearing processes.
Inventory consumption should broadly align with trading activity. A strong weekend should usually lead to higher kitchen issues, beverage movement, napkin usage, cleaning usage, and wastage exposure. Do not force exact recipe-level consumption unless recipes, BOMs, or POS integrations support that precision.
Kitchen Profitability Without Profit-Centre Posting
When the tenant does not yet use a dedicated profit-centre or class dimension, kitchen profitability can still be tested and operated using GL revenue accounts plus inventory reports.
Recommended launch model:
- Keep statutory inventory and COGS posting clean in the GL.
- Post EOD revenue to department-specific revenue accounts such as Local Food Sales, Harakat Sales, and Barista Sales where management needs those splits.
- Receive purchased stock into Main Store.
- Transfer stock from Main Store to the relevant operating store.
- Issue, waste, dispose, or adjust stock from that operating store when the department consumes it.
- Use Inventory reports filtered by stock location or warehouse to support each kitchen's COGS value.
Important control rule:
text
Local Food inventory consumption
+ Harakat inventory consumption
+ Barista inventory consumption
= total GL food and beverage consumption for the periodUse the following reports together:
| Report | Use |
|---|---|
| Income Statement | Statutory revenue, COGS, gross profit, operating profit, and net income. |
| Stock Movement Report | Period movement evidence by warehouse or stock location, movement type, item, quantity, unit cost, total cost, lot, batch, reference, and user. |
| Inventory Valuation As Of | Ending inventory value by warehouse or stock location, zone, item, lot, batch, expiry, and stock status. |
| Inventory To GL Reconciliation | Check that inventory values and GL control accounts stay aligned. |
Do not split stock categories only to force kitchen COGS. A category such as Fresh Produce or Cooking Ingredients can be consumed by several kitchens. The kitchen split should come from the movement location or store, not from duplicating item categories.
Controls And Edge Cases
The following controls should be part of serious QA and live operations:
| Control | Expected Behaviour |
|---|---|
| Duplicate approval or retry | Approving the same receipt twice should not duplicate stock movement, execution, or GL impact. |
| Partial receipts | A PO can be received in parts until the ordered quantity is exhausted or tolerance allows more. |
| Wrong receipt lines | A GRN should not receive items outside the source PO. |
| Wrong supplier | PO, GRN, supplier return, debit note, invoice, and payment should maintain supplier lineage. |
| Source line identity | Receipt and invoice lines should remain tied to the source line, not only a manually typed line number. |
| Return more than received | Supplier return should be blocked above received and available quantity. |
| Return unavailable stock | Stock already consumed or transferred should not be returned as if still available. |
| Batch or lot mismatch | Returns and issues should use available batch or lot selections. |
| Debit note integrity | Debit notes should come from approved supplier returns and should not create stock movement. |
| Invoice matching | Supplier invoices should not exceed received, uninvoiced quantity unless policy allows. |
| Supplier payment | Payment should not execute against invalid, unmatched, or wrong-source invoices. |
| Stock take freeze | Frozen scope should block or control movements. |
| Edit after execution | Approved or executed documents should not allow edits that invalidate evidence. |
| Cancellation and reversal | Downstream documents should require controlled reversal, not silent cancellation. |
| Concurrent approval | Simultaneous approvals should not over-receive or double-post. |
User Checklists
Storekeeper Daily Checklist
- Review low-stock and expiry-sensitive items.
- Receive supplier deliveries only against approved procurement documents where possible.
- Record actual quantity received, not ordered quantity.
- Capture batch, lot, expiry, and condition for tracked items.
- Issue stock to Kitchen, Service, Beverage, or Cleaning locations with clear reason.
- Record wastage, spoilage, damages, and disposals with notes.
- Review negative or unusual balances before day close.
Procurement Checklist
- Convert approved requisitions into purchase orders.
- Confirm supplier role and contact details.
- Use correct items, quantities, UOM, prices, currency, and tax treatment.
- Track partial deliveries.
- Reject or return damaged or wrong items through supplier return workflow.
- Confirm debit notes are applied before payment.
Accountant Checklist
- Confirm inventory asset accounts are mapped.
- Confirm consumption, wastage, variance, and breakage accounts are mapped.
- Confirm supplier invoices match approved receipts.
- Confirm supplier payments use the outstanding balance after debit notes.
- Reconcile AP, bank, cash, card clearing, mobile money, inventory value, and GL.
- Review trial balance, balance sheet, and income statement after material stock activity.
Month-End Checklist
- Complete stock counts for key locations.
- Investigate material variances.
- Post approved count adjustments.
- Review expired, damaged, slow-moving, and blocked stock.
- Reconcile supplier invoices and outstanding GRNs.
- Reconcile payment batches and manual bank transfers.
- Review COGS, consumption, wastage, and breakage accounts.
- Confirm inventory valuation agrees with GL control accounts.
Common Mistakes
| Mistake | Better Practice |
|---|---|
| Creating menu items as stock items for a restaurant back office. | Create ingredients, consumables, and operating supplies; keep menu sales in POS unless recipes are managed. |
| Typing random batch or lot values. | Use supplier batch/lot or a controlled internal receipt reference. |
| Receiving ordered quantity instead of delivered quantity. | Receive only what physically arrived and passed inspection. |
| Paying invoice total after a debit note. | Pay the outstanding balance after debit note application. |
| Using manual stock adjustment for supplier returns. | Use supplier return and debit note workflow. |
| Issuing reusable items as if consumed daily. | Track issue, return, loss, breakage, and replacement. |
| Ignoring active business day or fiscal period. | Confirm posting date and business day before operational postings. |
| Treating stock take as cleanup. | Use stock take to count and investigate, not to hide unrecorded activity. |
