By Isaac Muthui, CEO, Tamalaki Business Network Ltd. Originally published at factoraerp.com.
If you model a food factory's year-end inventory snapshot as a set of events, five objects matter more than the trial balance:
- Cut-off / freeze events — a timestamp (and production stop rules) after which receipts, issues, outputs and dispatches belong to the next year.
- Lot-status inventory snapshots — counts of raw materials, WIP and finished goods by lot, location and status (including QA hold / quarantine / rework), plus third-party and in-transit lines.
- Variance audit trail — every difference with reason code, value and named approver, linked back to a count and an observer note.
- eTIMS stock alignment — invoice and credit-note quantities that reconcile to the same year-boundary movements, supporting opening and closing stock by item.
- Opening-balance lock — January's opening stock loaded only from the signed closing pack, not from a parallel spreadsheet.
Kenya Revenue Authority's stock management functionality notice cites section 23A(2)(b) of the Tax Procedures Act, 2015 and expects records of stock received, purchased, sold, transferred, returned, adjusted or otherwise disposed of, aligned with TIMS/eTIMS invoices. The Star (2 Oct 2026) reported manufacturers preparing for a January 2027 rollout; People Daily framed the operational test as reconciling transactions with goods actually held and moved.
Below is the 12-point year-end stocktake I recommend for Kenyan food and agro processors — different from a routine count or a full month-end close — with a year-end file template and FAQ. Full references on the canonical post.
What the guidance and the law actually say
KRA stock management for electronic invoicing. On its stock management functionality page, KRA informs taxpayers that they must maintain accurate and up-to-date stock records while invoicing through TIMS/eTIMS, in accordance with section 23A(2)(b) of the Tax Procedures Act, 2015. The records should cover stock that is received, purchased, sold, transferred, returned, adjusted or otherwise disposed of, and they should align with the transactions invoiced through TIMS/eTIMS. KRA links this to correct tax reporting, accurate business records and compliance, and has been running consultative forums with businesses.
Manufacturers and the January 2027 prep window. The Star (2 October 2026) reported that KRA issued a public notice on 7 September 2026 requiring accurate stock records through TIMS/eTIMS, and that preparations point toward a January 2027 rollout. The Kenya Association of Manufacturers has asked for clarity on how the functionality will sit beside existing ERP systems, how conversion of raw materials into finished goods (including wastage, by-products, damaged goods and samples) will be captured, how imports and inter-warehouse transfers will be treated, and what happens during system downtime. KRA's George Obell was quoted saying the initiative targets missing-trader fraud and unfair competition. The same piece notes that eTIMS architecture already includes stock inventory, stock by item, imported items, stock-in and stock-out histories, movements and opening and closing stock — exactly the ledger your year-end snapshot should be able to support.
Accounting for every unit. People Daily (10 October 2026) walks through the basic equation: opening stock plus what came in, minus what went out, should equal what remains. A physical shortfall needs investigation with supporting documents — purchase invoices, sales records, transfer notes, adjustment records and physical counts — not a silent journal. Multi-branch businesses need consistent product codes and transfer records. Electronic invoicing improves visibility; it does not replace physical controls for damage, theft, returns, internal use or transfers.
Five-year retention. Section 23 of Kenya's Tax Procedures Act, 2015 requires a person to keep documents required under a tax law so that tax liability can be readily ascertained, and to retain them for five years from the end of the reporting period they relate to (subject to the exceptions in the Act). Your year-end stocktake pack belongs in that set. East African Standard EAS 39 (Hygiene in the food and drink manufacturing industry — Code of practice) clause 14 also expects records of actions taken to assure food safety to be indexed, filed and maintained for a suitable period — so confirm with your quality lead whether food-safety retention for the same year-end evidence runs longer than the tax minimum. Our eTIMS guide for food and agro manufacturers and food safety records checklist cover those two sides of the same filing cabinet.
Why year-end stocktakes go wrong in food plants
Factories rarely fail the annual count because nobody showed up. They fail because year-end is treated as a finance deadline instead of an operations freeze.
The patterns are familiar. Planning starts in the last week of December. Production is still issuing material while stores are counting. WIP has no status on the sheet. Held finished goods are mixed into free stock. Stock at a co-packer or third-party warehouse is guessed from last month's email. In-transit trucks are invisible to both sites. Nobody from outside the counting team observes. Variances are posted as "year-end adj" without a named approver. Opening balances for January are loaded from a spreadsheet that does not match the signed count. And when eTIMS or an auditor later asks for the year-boundary story, the pack cannot be found in under five minutes.
None of that survives a world in which stock movements and electronic invoices are expected to tell one story — and in which January's opening stock is simply last year's closing stock with a signature.
The 12-point year-end stock take checklist for food processors
Plan and freeze (start in November)
1. Publish the year-end stocktake plan in November.
Write the freeze window, count dates by warehouse and cold room, team leads, observer or auditor attendance, cut-off rules for receipts and dispatches, and the date opening balances will be locked. Brief stores, production, QA, dispatch and finance. A plan that only exists in someone's head is how the 31st becomes a scramble.
2. Announce a production and movement freeze for the count window.
Decide which lines stop, which can finish work-in-progress already in process, and which receipts or dispatches are blocked until after the count. Tell suppliers and logistics partners where needed. A year-end count against a moving warehouse invents variances that January will inherit.
3. Post every open slip before anyone counts.
GRNs, production issues and outputs, transfers, delivery notes, credit notes and returns that belong to the closing year must be in the system before the count starts. Use the same discipline as in our stock count reconciliation checklist and supplier intake checklist. Incomplete ledgers invent year-end "losses".
Count everything that is yours — and everything that affects yours
4. Count raw materials and packaging by lot and location.
Blind counts where practical. Partial bags, open drums, returned packaging and near-expiry lots get their own lines. Confirm units of measure before you chase a variance. FEFO and expiry write-offs at year-end belong here: see FEFO and batch expiry tracking.
5. Count work-in-progress with a status, not a guess.
List every open tank, silo, line, vat or pallet of WIP at the freeze: product, batch or order, quantity, stage and owner. Decide whether each line is finished into the closing year, carried as WIP into January, or written off with approval. WIP with no status becomes opening stock nobody can defend.
6. Count finished goods separately from blocked stock.
Sellable FG is one figure. Stock on hold, in quarantine, in rework, in the returns bay or awaiting disposal is another. Record status on the sheet, as in our QA hold checklist. Held pallets counted as free stock are how January's available-to-promise lies.
7. Include third-party, consignment and co-packer stock.
Stock at a co-packer, bonded store, distributor warehouse or customer site that is still yours needs a count confirmation — preferably with the third party's signed sheet or a joint count. Guessing from last month's email is not a year-end figure.
8. Include in-transit stock with named sender and receiver.
Trucks, containers and inter-branch transfers that left before the freeze and have not yet been received need a line: document number, contents, quantity, sender, receiver and expected arrival. People Daily's multi-branch point applies at year-end too: goods that left one store must not vanish from both sites' closing and opening balances. Tie dispatch evidence to the same discipline as our finished goods dispatch checklist.
Observe, reconcile, align and lock
9. Have an auditor, external observer or independent internal observer present.
Year-end counts that only the usual store team sees are harder to defend. Note who observed, which locations they covered and any exceptions they recorded. If your statutory auditor attends, treat their presence as part of the pack, not a courtesy visit.
10. Reconcile variances only with named approval — then lock the year-end adjustment list.
Every difference carries item, lot, location, system quantity, counted quantity, difference, value, reason code and approver. The counter does not approve their own write-off. "Year-end adj" is not a reason. KRA's stock-management notice expects returns, adjustments and disposals to be recorded. Run the recount and investigation steps from the stock count reconciliation checklist before anyone posts.
11. Align year-end stock with eTIMS invoices and stock records.
Confirm that invoices and credit notes for the closing year were transmitted as required, that quantities match what left the warehouse, and that your inventory ledger can support opening and closing stock by item — the same objects The Star noted already exist in eTIMS architecture. Document any legitimate year-end variances (wastage, by-products, samples, damage) with the same reason codes KAM has been asking KRA to clarify. See our eTIMS guide.
12. Assemble the year-end pack, lock opening balances for the new year, and retain the file.
File the November plan, freeze notice, posted-transaction list, count and recount sheets, WIP and hold registers, third-party confirmations, in-transit register, observer notes, approved adjustment list, eTIMS/invoice match summary, and a sign-off page from operations and finance. Load January opening balances only from that signed closing stock — not from a parallel spreadsheet. Plan to keep the pack at least five years under section 23 of the Tax Procedures Act, and confirm longer food-safety retention with your quality lead (EAS 39 clause 14: records of actions to assure safety kept for a suitable period).
A simple year-end stocktake file
| Section | What to record |
|---|---|
| November plan | Freeze window, count dates, teams, observer, lock date for opening balances |
| Freeze notice | Lines stopped / WIP finish rules; receipt and dispatch cut-off |
| Posting completeness | Open GRNs, issues, outputs, transfers, dispatches posted before count |
| RM & packaging | Blind sheets, lots, locations, UoM, near-expiry, recounts |
| WIP register | Order/batch, stage, quantity, owner; finish / carry / write-off decision |
| FG & blocked stock | Sellable vs hold / quarantine / rework / returns / disposal |
| Third-party / co-packer | Location, confirmation or joint count, signed sheet |
| In-transit | Document no., qty, sender, receiver, expected arrival |
| Observer | Name, locations covered, exceptions |
| Adjustments | Variance, reason code, value, named approver |
| eTIMS / invoice alignment | Invoice & credit-note match; opening/closing by item support |
| Opening balances | Loaded from signed closing stock only |
| Retention | Pack filed; tax min. five years; food-safety period confirmed |
| Sign-off | Operations + finance names, dates |
If you cannot point to last year's year-end pack in under five minutes, January's opening stock is not under control.
An illustration
This is an illustrative example, not a real case. A mid-sized dairy plans its year-end count for 30 December. Production runs until midday. Three silos of WIP have no stage written on the sheet. Twelve pallets of flavoured yoghurt on QA hold are counted into free stock. Stock at a co-packer is taken from a November email. Two trucks that left for Mombasa on the 29th appear on neither the dairy's nor the depot's count. Finance posts a balancing adjustment labelled "year-end" so the trial balance closes, then loads January opening balances from a spreadsheet that was edited after the count.
By mid-January the co-packer returns a lower figure, the held yoghurt is released and sold, the trucks arrive with shortages, and the WIP is finished with scrap that was never recorded. Opening stock nobody trusts is now the base for every variance report of the new year. Under KRA's stock-management expectation — records of what was received, sold, adjusted and disposed of, aligned with eTIMS invoices — that tidy December close is exactly the kind of story that does not hold. The fix is not a better journal in January. It is checks 1–3, 5–8 and 10–12 done before anyone signs in December.
How FactoraERP helps
FactoraERP keeps stock by item, lot, location and status, and records receipts, production issues, output and dispatch as they happen, so a year-end freeze starts from a live ledger rather than a pile of slips. Blind count sheets, recounts, variance reason codes and approved adjustments link each write-off to a count and a named approver. QC results and holds sit on the same stock: a batch on hold is not available for picking until QA releases it. Recipes can declare primary product, co-product, by-product or waste, which supports the conversion and wastage explanations manufacturers need when stock records and invoices must align. See factoraerp.com.
Free download: eTIMS readiness checklist for factories
Kenyan manufacturers increasingly need their operational records, stock records and invoices to tell one consistent story — especially at the year boundary. If you want a free eTIMS readiness checklist for factories, sign up for the FactoraERP Insights newsletter at https://isaacmuthui.substack.com. You will get practical operations notes for food and agro manufacturers. No spam; unsubscribe anytime. For background, see our guide to eTIMS for food and agro manufacturers.
FAQ
What is a year-end stocktake in a food factory?
It is the annual physical and documentary count that locks closing stock for the year and opening stock for the next: freeze, counts of raw materials, WIP and finished goods, third-party and in-transit stock, observer presence, approved variances, eTIMS/invoice alignment and a signed pack.
How is this different from a routine stock count or month-end close?
A routine stock count compares physical quantities with the system and posts approved variances. Month-end close covers the full period (cut-off, production, yields, purchases, sales, accruals). Year-end stocktake focuses on the annual freeze, complete coverage (including third-party and in-transit), observer presence and locking opening balances you will defend for the next year.
When should we start planning the year-end stocktake?
In November. Publish the freeze window, count dates, teams and observer arrangements early enough that production, stores and logistics can prepare — not in the last days of December.
What does KRA expect on stock records for eTIMS?
KRA's stock-management notice, citing section 23A(2)(b) of the Tax Procedures Act, 2015, expects accurate records of stock received, purchased, sold, transferred, returned, adjusted or otherwise disposed of, aligned with TIMS/eTIMS invoices. Consult your tax adviser for how that applies to your registration and timeline.
When is the eTIMS stock-tracking rollout expected?
Reporting in The Star on 2 October 2026 described preparations for a January 2027 rollout, following a 7 September 2026 public notice and ongoing consultations with manufacturers. Treat dates as reported and confirm current guidance with KRA.
How long should we keep the year-end stocktake pack?
Section 23 of the Tax Procedures Act, 2015 sets a general five-year retention period for documents required under a tax law, with exceptions. EAS 39 clause 14 expects food-safety records to be kept for a suitable period. Confirm both with your accountant and quality lead.
Can a small plant run year-end stocktake on paper?
Yes, if the November plan and freeze are written, slips are posted before counting, WIP and holds have registers, third-party and in-transit lines exist, adjustments have reason codes and named approvers, opening balances come only from the signed close, and the pack is filed together. Software helps when lots, locations, holds and third-party sites outgrow paper.
Isaac Muthui, CEO, Tamalaki Business Network Ltd
