Hands-on training

Folks Inventory ERP — Exercise Workbook

Twenty progressive labs that take you from an empty database to a fully-running café-and-bakery chain — buying stock, selling it, transferring it, auditing it, closing the books. Learn by doing, on one continuous case study.

20 Labs
16–20 Hours
1 Case study
Final assessment

The case study — Al-Murjan Café & Bakery

Al-Murjan is a small two-site café-and-bakery chain: a central HQ Main Store (warehouse + kitchen) that bakes and supplies, and a Branch 2 Café that sells to customers. Across these 20 labs you will stand the whole operation up in Folks Inventory ERP — set up the stores and items, buy ingredients through the procurement pipeline, transfer stock to the branch, sell over the POS, reconcile a stock audit, close the period and post the journal behind it.

How each lab works

Every lab carries a skill level, a time estimate, a goal, and a cross-reference to the manual chapter that explains the concept. Steps are colour-coded so you always know what kind of action you're taking:

DO

An action you perform on screen.

SEE

The outcome you should observe.

NOTE

A value to record for a later lab.

Q

A self-check question.

Before you start You need a running instance and the demo login superadmin / superadmin. Each lab builds on the last — work them in order, and keep your noted values (codes, ids) to hand.
Foundation · 1–5 Intermediate · 6–13 Advanced · 14–20 Assessment
Block A

Foundation · Labs 1–5

Stand up the stores and items, and learn to read stock.

Lab 01

Orientation & first login

Foundation 30 min Goal: sign in & map the app Manual Ch 3–5
  • Open the app and sign in with superadmin / superadmin.
  • You land on the Command Center; the sidebar shows the eleven modules.
  • Expand each module in the sidebar and note which pillar it belongs to (Workspace, Warehouse, Trade, Assets, Finance, Administration).
  • Record the six KPI values on the dashboard — you'll watch them change as you work.
  • Which two modules render as solo links (no sub-menu)?
Lab 02

Your first store

Foundation 40 min Goal: two stores + lookups Manual Ch 7
  • Store Type — add Warehouse and Retail.
  • Store Location — add Riyadh — HQ and Jeddah.
  • Store — create HQ Main Store (Warehouse / Riyadh, purchase allowed) and Branch 2 Café (Retail / Jeddah).
  • Both appear with auto codes STR0001 / STR0002 and an Active badge.
  • Record both store codes.
  • Why must HQ Main have "purchase allowed" but the branch need not?
Lab 03

The item master

Foundation 45 min Goal: five stocked items Manual Ch 8
  • Lookups — add an Item Category (Bakery, Beverage), a Brand and a Grade.
  • Store Item — create five items: Bread Loaf, Coffee Beans 1kg, Paper Cups, Cappuccino Mix, Water 500ml. Give each a unit and a reorder level.
  • Set Coffee Beans reorder level to 8 — you'll trip the low-stock alert later.
  • All five list with zero on-hand — items exist but hold no stock yet.
  • Why is every item's on-hand zero immediately after creation?
Lab 04

Opening stock via Store Entry

Foundation 35 min Goal: stock on the shelf Manual Ch 10
  • Store Entry at HQ Main — post opening quantities: Bread Loaf 40, Coffee Beans 20, Cappuccino Mix 30, Water 50.
  • Each entry posts a positive movement and the on-hand jumps immediately.
  • Leave Paper Cups at zero on purpose — it'll show as Out.
  • Could you have typed "20" directly into a balance field instead? Why not?
Lab 05

Read the Stock Balance & dashboard

Foundation 25 min Goal: interpret stock state Manual Ch 13
  • Open Stock Balance and read the In / Out / On-hand columns.
  • Coffee Beans shows Low if its on-hand sits near its reorder level; Paper Cups shows Out.
  • Return to the dashboard — the Items and Low-stock KPIs now reflect your data.
  • If In = 20 and Out = 0, what makes Coffee Beans "Low"? (Hint: reorder level.)
Block B

Intermediate · Labs 6–13

Run the trade engines — buy stock through the pipeline, sell it on the POS, move it between stores.

Lab 06

Raise a store item requisition

Intermediate 30 min Goal: start procurement Manual Ch 16
  • Store Item Requisition — HQ Main needs 25 Bread Loaf (Each). Save it.
  • Requisition #1 is created and listed.
  • Record the requisition number — Lab 7 picks it up.
  • A requisition is a request, not a purchase. What turns it into one?
Lab 07

Requisition-driven plan & indent

Intermediate 40 min Goal: plan → indent Manual Ch 20
  • Purchase Plan — pick requisition #1; item, requested qty and unit auto-fill. Set planned qty 30 and save.
  • Plan #2 enters the pipeline as New Request.
  • From the plan list, click Generate Indents.
  • Status advances to Indent Generated.
  • Record the plan number — you'll carry it to Delivered.
Lab 08

Tender & compare quotes

Intermediate 45 min Goal: float & rank quotes Manual Ch 21
  • Vendors — add three with emails: Gulf Foods, Al-Noor Supplies, Desert Trading.
  • Create Tender Request — select the indented plan and create the tender.
  • Status moves to Tender Created.
  • Compare Quotes — capture a quote per vendor (e.g. 6.20 / 6.75 / 7.10) and rank them.
  • Which vendor is the system going to recommend, and on what basis?
Lab 09

Award the PO & receive the delivery

Intermediate 45 min Goal: pipeline → Delivered Manual Ch 22
  • Process PO — award the order to the lowest quote (Gulf Foods).
  • Status becomes Delivery Processing.
  • Delivery — process logistics and Receive the goods.
  • Plan lands on Delivered — and Bread Loaf's stock at HQ Main rises by the received quantity.
  • Confirm on Stock Balance that the purchase flowed into on-hand. You just ran the whole pipeline.
Milestone Requisition → Plan → Indent → Tender → Quotes → PO → Delivered, with the stock balance moving at the end. This is the spine of the platform — everything else hangs off it.
Lab 10

Set up point of sale

Intermediate 30 min Goal: an open till Manual Ch 25
  • Payment Method — add Cash, Card, Wallet.
  • POS Terminal — create Branch 2 Till bound to Branch 2 Café, default cashier Layla.
  • POS Session — open a session on that terminal with an opening float.
  • Branch 2 currently holds little stock. What will you need before you can sell much? (Foreshadows Lab 13.)
Lab 11

Ring POS sales

Intermediate 35 min Goal: sell & drop stock Manual Ch 26
  • New Sale — add items to the cart (e.g. Cappuccino ×2, Croissant ×3), watch the VAT and total compute, take Cash.
  • The sale is recorded and the sold items decrement from the session's store stock.
  • Ring two more sales so the day-close has something to reconcile.
  • Record the running total of the session.
Lab 12

Day close & POS report

Intermediate 30 min Goal: reconcile the drawer Manual Ch 27
  • Day Close — count the drawer and close the session.
  • Expected vs counted is reconciled; the session is marked closed.
  • POS Report — review takings by item and method.
  • If counted cash is short, where does the discrepancy surface?
Lab 13

Inter-store transfer

Intermediate 40 min Goal: dual-write a move Manual Ch 17
  • Transfer — move 15 Bread Loaf from HQ Main (consigner) to Branch 2 (consignee). Post it.
  • HQ Main drops by 15, Branch 2 rises by 15 — both legs stamped with the same TRF-… code.
  • Transfer Report — confirm both movement legs are listed under one transfer.
  • Why is a transfer one transaction rather than a manual exit then entry?
Block C

Advanced · Labs 14–20

Exceptions, reconciliation, assets, the money side, access control — and the capstone.

Lab 14

Returns & damage

Advanced 30 min Goal: handle exceptions Manual Ch 12
  • Store Returns — bring 2 Water 500ml back into HQ Main.
  • Damage Entry — write off 3 Bread Loaf as spoiled, with a reason.
  • The return adds back; the damage removes the spoiled quantity from sellable stock.
  • Why keep damaged quantity recorded instead of just deleting it?
Lab 15

Stock audit with variance

Advanced 45 min Goal: variance → auto-damage Manual Ch 14
  • Stock Audit — generate an audit batch for Branch 2 (note the STRAUD… code).
  • Enter a physical count for Paper Cups that is 4 short of the system figure.
  • Variance shows −4, and a Damage row is auto-created linked to the audit id.
  • What does this design protect against, compared with letting someone edit the balance directly?
Lab 16

Period close — closing balance

Advanced 25 min Goal: snapshot the period Manual Ch 15
  • Closing Balance — click Run Period Close.
  • A header per store is written and every on-hand row is snapshotted into the closing-balance detail.
  • Note how many detail rows were created — one per stocked item per store.
  • Does closing the period stop you trading? Why / why not?
Lab 17

Assets & item-to-asset

Advanced 35 min Goal: register an asset Manual Ch 28–29
  • Asset Category / Type — add Kitchen / Equipment.
  • Asset Item — register an Espresso Machine with a value and item count.
  • It lists with a derived code AST… and its category name (not an id).
  • Store Item → Asset — promote a stocked durable into the asset register.
Lab 18

Accounts & a balanced voucher

Advanced 45 min Goal: post double-entry Manual Ch 34–35
  • Account Master — confirm/add accounts: Cash (Asset), Inventory (Asset), Accounts Payable (Liability), VAT Input (Asset).
  • Transaction Entry — record the Lab 9 purchase: Dr Inventory 186, Dr VAT 27.90, Cr Payable 213.90.
  • Save stays disabled until debits = credits; once balanced, it posts.
  • What is the single rule the system enforces on every voucher?
Lab 19

Roles & access control

Advanced 40 min Goal: prove RBAC Manual Ch 37
  • Role Management — create a Cashier role.
  • Employee Privilege — grant the Cashier role only the Sales / POS pages.
  • A user in that role signs in to a sidebar with only POS — no Accounts, no Purchase.
  • Where does the sidebar get its list of pages from?
Lab 20 · Capstone

End-to-end: one item's whole life

Advanced 90 min Goal: tie it all together Manual Parts III–VII

Without looking back at the earlier labs, drive a single new item through its entire life. This is your proof of mastery.

  • Create a new item (e.g. Chocolate Muffin) and a requisition for it at HQ Main.
  • Procure it through the full pipeline to Delivered.
  • Transfer some to Branch 2 and sell a few over the POS.
  • Audit Branch 2, then run a period close.
  • Post the purchase journal in Accounts.
  • You have run requisition → delivery → transfer → sale → audit → close → journal for one item, single-handed.
If you completed Lab 20 unaided, you can run Folks Inventory ERP. Take the assessment below to certify it.
Certification

Final assessment

Five multiple-choice, five short-answer and one practical. Aim for 8/10 on the written part and a clean practical run. The trainer key is at the foot of the page.

Part A · Multiple choice

Choose the single best answer.

Q1

How does the on-hand quantity on Stock Balance change?

  • A You type the new number directly
  • B Only by posting a movement (entry, exit, sale, transfer, return, damage)
  • C It is fixed at item creation
  • D An administrator edits the database
Q2

What is the correct order of the procurement pipeline?

  • A Plan → Requisition → PO → Tender → Delivery
  • B Requisition → Plan → Indent → Tender → Quotes → PO → Delivery
  • C Tender → PO → Requisition → Delivery
  • D PO → Plan → Delivery → Requisition
Q3

An inter-store transfer is best described as…

  • A A single exit at the source store
  • B A dual-write: exit at the consigner + entry at the consignee, one transaction
  • C A purchase order
  • D A POS sale between stores
Q4

A negative variance in a stock audit results in…

  • A Nothing — it's ignored
  • B A silent balance edit
  • C An auto-created Damage row linked to the audit
  • D A new purchase order
Q5

Why might a page be missing from your sidebar?

  • A The app is broken
  • B Your role lacks the privilege for that page
  • C The page was deleted
  • D Stock is zero

Part B · Short answer

Q6
Explain why creating an item does not create any stock.
Q7
Name the five pipeline statuses a purchase plan walks through, in order.
Q8
What does Run Period Close actually write, and where?
Q9
What single rule does Transaction Entry enforce before a voucher can save?
Q10
From which two tables is the sidebar built, and how is a page's route derived?

Part C · Practical

Take a brand-new item from a store requisition all the way to a received delivery, then sell one unit over the POS — and show, on Stock Balance, the rise from receipt and the fall from the sale.
Trainer answer key — reveal

A1. B — balances are computed from movements, never typed.

A2. B — Requisition → Plan → Indent → Tender → Quotes → PO → Delivery.

A3. B — a dual-write in one transaction, both legs sharing a TRF-… code.

A4. C — a Damage row is auto-created, linked to the audit id, so the loss is recorded and written off.

A5. B — RBAC; the privilege is granted in Employee Privilege.

A6. Items are descriptions; quantity only exists per-store via movements (entry / delivery / transfer). A new item is zero everywhere until stock is posted.

A7. New Request → Indent Generated → Tender Created → Delivery Processing → Delivered.

A8. It writes a closing header per store and snapshots every StockAtStore row into StoreClossingBalanceDetails — a period-end picture, in one transaction.

A9. Total debits must equal total credits — the voucher must balance.

A10. MainMenu + SubMenu (via DevSP_…_UM_GetMenuDetailsByUserId); the route is "/" + SubMenuName, lower-cased with spaces removed.

Practical. Look for: requisition → plan (New Request) → Generate Indents → Create Tender → Compare → Award PO (Delivery Processing) → Receive (Delivered); Stock Balance up by the received qty; then a POS sale dropping it by one. Full marks if the candidate narrates the status at each hop.

Need the concepts again? Every lab links back to its manual chapter — jump to the User Manual any time, or return home.