Home›Getting Started›What is ZAAGOB ERP?
Getting Started
What is ZAAGOB ERP?
5 min read•Getting Started
ZAAGOB ERP is a business management system built specifically for Nigerian food manufacturers. It handles everything a bakery, snack producer, or food kitchen needs to run well every day: recording production, selling through a till, tracking costs, and reading real profit figures.
Who is it for?
ZAAGOB ERP is built for small and medium food businesses that make physical goods and sell them daily or weekly. This includes:
- Bakeries (bread, buns, meat pies)
- Fried snack producers (puff-puff, egg rolls, chin chin)
- Pastry kitchens and confectionery studios
- Zobo and drinks manufacturers
- Caterers who supply wholesale orders
- School canteens (production side)
What problem does it solve?
Most small food business owners cannot answer three questions: what does one unit actually cost me to make? Which product makes the most profit? How much did I truly earn last month? ZAAGOB ERP answers all three automatically once you start recording your production and sales.
What can it do?
| Area | What ZAAGOB ERP tracks |
| Production | Batches made, ingredients used, gas and oil costs, waste, product yield |
| Sales | Walk-in retail (POS), wholesale orders, dispatch to distributors, customer credit |
| Stock | Raw material levels, finished goods, reorder alerts, low-stock warnings |
| Finance | Profit & Loss, expenses, payroll, cash flow, VAT |
| People | Staff accounts with different access levels, audit log of every action |
| Branches | Multiple outlets with consolidated or per-branch reporting |
How is it organised?
The app is split into six sections accessible from the left sidebar:
- Dashboard – today's numbers at a glance
- Procurement Hub – suppliers, purchase orders, price comparison
- Production Hub – batches, recipes, gas, oil, spoilage
- Sales Hub – POS, sales, customers, end of day, dispatch
- Finance & Ops Hub – reports, inventory, expenses, payroll, pricing
- Tools Hub – AI assistant, staff, settings, audit log
Getting Started
How to log in and navigate ZAAGOB ERP
4 min read
Logging in
- Open the ZAAGOB ERP URL in any modern browser (Chrome, Safari, Edge).
- Enter the email address your administrator registered for you.
- Enter your password. Use the eye icon on the right to show or hide it.
- Click Sign In.
⚠️
Login failed? Check that caps lock is off and you are using the email address registered by your administrator. After too many failed attempts, the account is temporarily locked for 15 minutes.
The main layout
Once logged in, you see three areas:
- Top bar – search, notification bell, branch selector (if your business has multiple outlets), and your account menu
- Left sidebar – the six main sections (Dashboard, Procurement, Production, Sales, Finance & Ops, Tools)
- Main panel – the content area where everything opens
The notification bell
The bell icon in the top bar shows a red badge when new alerts are waiting. Click it to see recent low-stock warnings, dispatch updates, and smart alerts. Up to five recent notifications are shown.
Simple Mode vs Pro Mode
The Simple/Pro toggle in the top bar switches between two views. Simple Mode shows only the tabs you need for daily work. Pro Mode shows everything including advanced reports, payroll, and AI tools. Your preference is saved per device. See Simple Mode vs Pro Mode for the full comparison.
Switching between hubs
Click any section name in the left sidebar to open it. Each hub (Procurement, Production, Sales, Finance, Tools) opens with a row of tabs across the top. Click a tab to switch between that hub's features. The active tab is highlighted in orange.
The branch selector
If your business has more than one location, a location pin icon appears in the top bar. Click it to switch between branches or select All Branches for a combined view. Every record you create is tagged to whichever branch is currently selected.
Getting Started
Your first day: the 3 daily actions that make the system work
5 min read
The system only works if you use it every day. Three actions take about 10 minutes total and keep every number accurate.
Action 1 – Record production
When: Right after you finish making products. Where: Production Hub › Floor Mode
- Select the product from the dropdown.
- Enter the number of batches you made (or units, if no recipe is set).
- Enter any waste units (broken, burned, or unsellable).
- Tap Record Batch. Stock updates instantly.
Why it matters: If you skip this, your stock count is wrong. The spoilage report is wrong. Profit calculations are wrong. Everything starts here.
Action 2 – Record sales
When: During the day (POS) or at the end of the day (Sales form). Where: Sales Hub › POS or Sales Hub › Sales
- Walk-in customers: Use POS. Tap a product card, tap Charge, select payment method, confirm. Done in 10 seconds.
- Wholesale orders: Use the Sales form. Click New Sale, select Wholesale, add items, select the customer, save.
Action 3 – Close End of Day
When: Before you close up for the night. Where: Sales Hub › End of Day
- Check the product reconciliation table. It shows produced minus sold equals what should be left. Confirm it matches your physical stock.
- Count your cash till. Enter the amount into the system. It shows you the expected total — any difference is flagged.
- Click Close Day. The snapshot is locked permanently.
ℹ️
Missed a day? Production and sales entries can be backdated — enter them with the correct date. The End of Day snapshot itself cannot be backdated, but you can pick up from today. See What to do when you miss a day.
What breaks if you skip an action
| Skipped action | What breaks |
| Record production | Stock count wrong, spoilage data missing, P&L understated |
| Record sales | Revenue understated, carry-over stock inflated, profit overstated |
| Close End of Day | No daily snapshot, cash variances never caught, P&L has gaps |
Getting Started
Simple Mode vs Pro Mode – what's the difference?
3 min read
ZAAGOB ERP has two view modes. Toggle between them using the Simple / Pro button in the top navigation bar. Your choice is saved in your browser and does not affect other users.
Simple Mode
Hides advanced features. Shows only what you need for daily operations. Best for sales staff, production workers, and anyone who finds the full system overwhelming.
Visible in Simple Mode: POS, Sales list, Customers, Inventory levels, Expenses, Suppliers, Purchase Orders, Glossary.
Pro Mode
Shows everything. Best for the business owner, accountant, or manager who needs the full picture.
Additional features in Pro Mode: Reports & P&L, Payroll, AI Intelligence Centre, Debt Recovery aging buckets, Advanced Analytics, Audit Log, Security Monitor, Settings, and all admin tools.
Which mode should my staff use?
| Role | Recommended mode |
| Owner / Manager | Pro Mode |
| Accountant | Pro Mode |
| Sales staff | Simple Mode |
| Production worker | Simple Mode |
| Inventory officer | Simple Mode |
💡
Production workers can use Floor Mode instead of Simple Mode. Floor Mode is an even more stripped-down screen that only shows the batch recording interface. See Record a production batch.
Getting Started
First-time business setup in ZAAGOB ERP
6 min read
When you log in for the first time, a Getting Started checklist appears on the Dashboard. It walks you through seven steps in sequence. Each step links directly to the right page.
The 7 setup steps
- Add your first product – Go to Production Hub › Products. Enter a name, batch size (how many units one standard batch makes), and retail price. No recipe needed yet.
- Record your first production batch – Go to Production Hub › Floor Mode. Select your product, enter units made, tap Record.
- Record your first sale – Go to Sales Hub › POS. Tap a product, charge a customer.
- Add your raw materials – Go to Production Hub › Raw Materials. Add flour, eggs, oil, and any other key ingredients. Use the unit you actually buy in (bags, crates, litres).
- Record your first purchase – On any material row, click + Purchase. Enter what you paid and how many units you received.
- Set a recipe for your main product – Go to Production Hub › Products. Click Recipe on any product. Add ingredients and quantities per batch. This unlocks cost-per-unit calculation.
- Close your first End of Day – Go to Sales Hub › End of Day. Check the reconciliation table, count your cash, click Close Day.
Business identity settings
Go to Tools Hub › Settings to set your business name, address, phone number, and currency symbol. These appear on every invoice.
Configuring sale types and payment methods
In Settings, you can also configure the list of sale types (Retail, Wholesale, etc.) and payment methods (Cash, Transfer, POS, Mobile Money) that appear in dropdowns throughout the system.
💡
You do not need to complete all 7 steps before the system is useful. Start with step 1 and 2 on day one. Add recipes and raw materials across the first week. An approximate setup beats no setup.
Production
How to record a production batch in ZAAGOB ERP
5 min read
There are two ways to record production: Floor Mode (the fast, simple interface) and the Full Production tab (for advanced batch types). Start with Floor Mode.
Using Floor Mode (recommended for daily use)
Go to: Production Hub › Floor Mode
- Select your product from the dropdown at the top.
- The system shows a live ingredient check in green or red. Green means you have enough stock. Red means a material is short.
- Enter the number of batches (if your product has a recipe) or units made directly (if using simple recording).
- Enter waste units — any broken, burned, or unsellable output. This is important for accurate spoilage tracking.
- Optionally add a note (e.g. "oven ran hot").
- Tap Record Batch. A success message confirms the batch and shows total units added to stock.
ℹ️
No recipe yet? Floor Mode still works — it records units without deducting ingredients (called Simple Recording). Add a recipe later through the Products tab when you are ready for full cost tracking.
Understanding the ingredient check
When a product has a recipe, Floor Mode shows each ingredient with three columns: Needed (based on your batch count), In stock (current quantity on hand), and a green tick or red warning. A red warning does not block recording — it is an alert only.
Using the Full Production tab
Go to: Production Hub › Production
The Full Production tab supports three batch types:
| Type | When to use |
| Standard Batch | One product, one or more batches of the same recipe |
| Mixed Batch | One flour mix produces multiple products (e.g. a 10kg mix split into buns and egg rolls) |
| Sub-Batch | Secondary processing — e.g. bottling drinks after brewing, or packaging after frying |
The Full Production tab also shows a Live Material Deduction Preview panel that updates as you type, so you can see exactly what will be deducted before confirming.
Viewing past batches
Below the recording form, a list of all batches for the current date is shown. Click any row to expand it and see which materials were deducted and the cost per unit for that batch.
Production
How to set up a product and recipe in ZAAGOB ERP
6 min read
A product is anything you make and sell. A recipe tells the system which raw materials to deduct when you record a production batch. Without a recipe, the system still records production but cannot calculate cost per unit.
Adding a product
Go to: Production Hub › Products
- Click Add Product.
- Enter the product name (e.g. Egg Roll, Puff-Puff, Chin Chin).
- Set the batch size — how many units one standard batch produces (e.g. 60 for egg rolls if your standard mix makes 60).
- Set the retail price and wholesale price.
- Choose the Carry Over setting (see below).
- If your product uses whole eggs as a coating (e.g. egg rolls), set Egg Usage Mode to Whole.
- Click Save.
Carry Over: the most important setting
| Setting | What it does | Use for |
| Carry Over: No | Unsold units expire at end of day and are written off as a loss | Puff-puff, egg rolls, fresh bread, fried chicken — anything that cannot be sold the next day |
| Carry Over: Yes | Unsold units roll forward to tomorrow's opening stock | Buns (2–3 day shelf life), chin chin, cookies, dry snacks |
⚠️
Get this right. If a daily product is set to Carry Over: Yes, yesterday's unsold units keep building up in stock forever. Your inventory numbers will be wrong.
Setting a recipe
- In the Products list, find your product and click Recipe.
- Click Add Ingredient.
- Select the raw material from the dropdown.
- Enter the quantity used per standard batch (e.g. 3 for 3kg of flour per batch).
- Repeat for all ingredients.
- Click Save Recipe.
Once saved, every production batch for this product will automatically deduct the correct ingredient quantities and calculate cost per unit.
Egg Usage Mode
For products like egg rolls where one whole egg coats one unit individually, set Egg Usage Mode to Whole. The system then deducts exactly 1 egg per unit produced — not the recipe ingredient quantity scaled by batches. This eliminates the "Insufficient Eggs" false error that most users encounter on mixed batches.
Production
How to track gas and oil costs in ZAAGOB ERP
5 min read
Cooking energy is one of the most commonly ignored costs in food businesses. ZAAGOB ERP tracks gas (LPG) and frying oil separately and automatically adds the cost to every batch recorded that day.
Tracking gas (LPG)
Go to: Production Hub › Gas
- Each morning before production starts, weigh your gas cylinder and enter the Opening Weight in kg.
- After production ends, weigh the cylinder again and enter the Closing Weight.
- Enter the gas price per kg.
- The system calculates: gas used = opening − closing. It then distributes that cost equally across all production batches recorded that day.
If you refill mid-day: Click Add Top-Up and enter the quantity added. The system adds this to the running total before calculating consumption.
Re-patching COGS
If you recorded production batches before closing the gas log (e.g. you forgot to log gas until the afternoon), a Re-patch COGS button appears on the gas log row. Click it to retroactively apply the correct gas cost to all batches from that day. The system updates margins without double-counting.
Tracking frying oil
Go to: Production Hub › Oil
- Enter the opening oil quantity for the day (in litres or kg — your choice).
- Record any top-ups during the day.
- At the end of the day, enter the closing quantity.
- The system calculates consumed = opening + top-ups − closing, then distributes the cost across fried-product batches for that day.
The Oil tab shows a unit converter so you can switch between litres and kg if needed.
Where does the energy cost appear?
Once logged, the gas and oil cost per unit shows up in Finance Hub › Pricing & Margins in the cost breakdown per product. It is included in COGS and therefore in your P&L net profit figure.
Production
Understanding the Spoilage tab in ZAAGOB ERP
4 min read
The Spoilage tab shows how much of what you produce actually gets sold, and how much expires unsold. It is one of the most actionable reports in the system because it reveals over-production patterns that cost money invisibly.
Go to: Production Hub › Spoilage
What it shows
For each product, the Spoilage tab shows a breakdown by day of the week across all recorded periods:
- Produced – total units made on that day of the week
- Sold – total units sold (retail + wholesale)
- Expired – unsold units written off at end of day
- Sell-Through Rate – percentage of produced units that were sold (100% = sold everything, 65% = 35% expired)
- Cost of Expired Stock – the ingredient value of units not sold, in naira
How to use the data
Look for patterns in the day-of-week columns. A common finding: businesses expire 20–30% of production on Mondays and Tuesdays but sell out on Thursdays and Fridays. The fix is to reduce Monday and Tuesday production by the same percentage, and increase Thursday and Friday.
The Cost of Expired Stock figure makes the loss concrete. If you are expiring ₦6,500 worth of egg rolls every Tuesday, that is ₦26,000 per month — real money that can be recovered just by adjusting batch sizes.
The Daily Reset button
The Daily Reset button is also in this tab. Run it once per day at the end of business. It does two things:
- Products set to Carry Over: Yes — unsold units roll forward to tomorrow's opening stock.
- Products set to Carry Over: No — unsold units are recorded as expired and zeroed out.
⚠️
Run Daily Reset after closing End of Day, not before. EOD locks the day's figures; Daily Reset adjusts tomorrow's opening stock.
Production
How to use Production Planning in ZAAGOB ERP
4 min read
Go to: Production Hub › Planning
The Planning tab has two tools: a Material Availability Check and a list of Saved Plans.
Checking if you have enough materials
- Select a date for the planned production run.
- For each product, enter the number of batches you intend to make.
- The system checks your current raw material stock against what is needed for all the batches combined.
- Any shortfalls appear in red, showing the exact quantity short and which material is affected.
Saving a plan
If stock is sufficient for all products in your plan, click Save Plan. The plan is saved to the Saved Plans list below. Saved plans are for your reference — they do not automatically record any production or deduct any stock.
When to use production planning
Production planning is most useful once you have at least 3–4 weeks of spoilage data. Use the Spoilage tab to find your average sell-through rate per day, then use Planning to model whether your adjusted batch targets can be covered by current stock before you go to the market.
💡
If you find that you regularly need to buy ingredients before planning sessions, set a higher Reorder Level on those materials in the Raw Materials tab. You will get low-stock alerts earlier.
Sales
How to make a sale using POS in ZAAGOB ERP
4 min read
POS (Point of Sale) is the fastest way to record walk-in cash sales. It is designed for counter staff with no previous app experience.
Go to: Sales Hub › POS
Making a sale
- Products appear as cards. Tap a card to add one unit to the cart. Tap the + button to add more.
- Products that are out of stock show a greyed-out overlay and cannot be added to the cart.
- Products with 5 or fewer units remaining show an amber "N left" badge as a warning.
- When the cart is ready, tap Charge.
- Select the payment method (Cash, Transfer, POS terminal, Credit).
- For cash: enter the amount the customer gave you. The system calculates change automatically.
- Tap Confirm. The sale is recorded and stock is deducted instantly.
- Tap New Sale to clear the cart and start the next transaction.
Wholesale Mode in POS
Toggle Wholesale Mode at the top of the POS screen to switch all prices to wholesale prices. The retail price shows as strikethrough for comparison. Useful for counter sales to distributors or regular bulk buyers.
Searching and filtering products
Use the search bar above the product grid to find a product by name. Use the category filter buttons to show only one category at a time (e.g. show only "Buns" or only "Drinks").
Credit sales in POS
If a customer pays by Credit, you must select them from the customer dropdown. Credit sales are posted to the customer's account and appear in Sales Hub › Debt Recovery. If the customer has reached their credit limit, the system will not allow the sale.
Sales
How to record wholesale orders in ZAAGOB ERP
4 min read
Wholesale orders are for sales to shops, supermarkets, schools, or any bulk buyer. Unlike POS, wholesale orders require selecting a customer account.
Go to: Sales Hub › Sales
Recording a wholesale sale
- Click New Sale.
- Set the Sale Type to Wholesale (or the type configured in your Settings).
- Add line items: select each product and enter the quantity.
- The wholesale price fills in automatically. You can edit the unit price if needed.
- Select the customer from the dropdown. If the customer does not exist yet, click Add Customer first.
- Select the payment method. For Credit sales, no cash changes hands now — the balance is posted to the customer's account.
- Click Save. Stock is deducted immediately.
What is the difference between Sales and Dispatch?
Use the Sales form when goods are exchanged and payment (or credit) is confirmed at the time of the order. Use Dispatch when goods go out before payment is settled — for example, sending a hawker out with 100 units and collecting payment when they return. See Create a dispatch.
Viewing past sales
The Sales list shows all recorded sales for the current date range. Use the date filters at the top to see a different period. Click any row to expand it and see the full line-item breakdown.
Sales
How to close End of Day in ZAAGOB ERP
5 min read
End of Day is the daily closing reconciliation. It locks the day's figures as a permanent snapshot, confirms your cash till, and checks that your stock counts match what the system expects.
Go to: Sales Hub › End of Day
The product reconciliation table
The most important part of the End of Day screen. For each product, it shows:
- Opening stock – what you started the day with
- Produced – batches recorded today
- Sold (Wholesale) – wholesale orders
- Sold (Retail/POS) – counter sales
- Waste – recorded during production
- Remaining – what should be on your shelf right now
- Status icon – a green tick means the numbers balance, an amber warning means something was not recorded
Closing the day
- Check every row in the reconciliation table. For any row with an amber warning, investigate before proceeding — a sale, a batch, or waste entry is likely missing.
- Count your physical cash till.
- Enter the actual cash count in the field provided. The system shows the expected cash from recorded cash sales. Any difference (variance) is shown in red or green.
- Click Close Day. The snapshot is permanently locked. You can still view it but cannot edit any entry.
⚠️
EOD cannot be backdated. If you miss closing a day, production and sales entries can still be entered with the correct past date, but the End of Day snapshot itself must start fresh from today. See What to do when you miss a day.
What the EOD cash variance means
A positive variance (you have more cash than expected) usually means a sale was recorded as Transfer but the customer actually paid cash, or a previous day's cash was not banked. A negative variance means cash is short — a sale may have been recorded but payment not received, or cash was removed from the till without a record.
Sales
Managing customer credit and debt recovery in ZAAGOB ERP
5 min read
Setting a credit limit
When adding or editing a customer in Sales Hub › Customers, set a credit limit. This is the maximum outstanding balance the customer can carry. The system will not allow any credit sale that would push the customer over their limit.
Viewing outstanding balances
Go to: Sales Hub › Debt Recovery
All customers with outstanding balances are listed here, organised by how overdue they are:
| Bucket | What it means |
| 0–7 days | Recent credit sales. Normal. |
| 8–30 days | Approaching due. Consider following up. |
| 31–60 days | Overdue. Contact required. |
| 61–90 days | Seriously overdue. Escalate. |
| 90+ days | At risk of becoming unrecoverable. |
Logging a contact attempt
Each time you contact a customer about a debt, click Log Contact on their row. Record the method (Phone, WhatsApp, In-person) and the outcome. This log is your evidence if a dispute arises and reminds you when you last spoke to each debtor.
Recording a payment
When a customer pays some or all of what they owe, go to Sales Hub › Customers, click the customer's name, and record the payment with amount and method. The balance updates immediately.
Writing off a debt
If a debt is genuinely unrecoverable, click Write Off on the customer row in Debt Recovery. Enter the reason and confirm. The amount is removed from the outstanding balance and posted as a loss in your P&L report.
Sales
How to create a dispatch in ZAAGOB ERP
5 min read
A dispatch is an outgoing delivery of products to a distributor, hawker, retailer, or agent — where goods go out before payment is fully settled. Use Dispatch when goods leave your premises before you collect money.
Go to: Sales Hub › Dispatch
Creating a dispatch
- Click New Dispatch.
- Select the customer (the distributor, hawker, or retailer receiving the goods).
- Add products and quantities.
- Set payment terms: Credit (customer pays later) or Cash on Delivery.
- Save. The dispatch status is set to Pending.
Updating delivery status
As the order progresses, update the status: Pending → In Transit → Delivered. Use the status button on the dispatch row.
Recording returns
When a hawker or distributor returns unsold goods, click Record Returns on the dispatch. Enter the quantities returned per product. The system adjusts the net quantity sold.
Settling a dispatch to a sale
Once a delivered dispatch is paid, click Settle. Enter:
- Amount received
- Payment method (Cash, Transfer, etc.)
The system creates a Sale record for the net quantity (dispatched minus returned), deducts stock, and posts any remaining balance to the customer's credit account automatically.
Common use cases
| Scenario | How to handle it |
| Hawker takes 100 puff-puff and returns 15 | Create dispatch (100 units). When they return: Record Returns (15 units). Settle for 85 units sold. |
| Supply a kiosk on credit | Create dispatch with Credit terms. Settle when they pay. |
| Weekly delivery to a school canteen | Create a new dispatch each delivery. Settle monthly when the school pays. |
Finance
How to read your Profit & Loss report in ZAAGOB ERP
5 min read
Go to: Finance Hub › Reports & P&L
The P&L report is the most important report in the system. It shows whether your business actually made money in a given period, after all costs.
Setting the date range
Set the From and To dates, then click Refresh. The report rebuilds for that period. Use the first of the month to the end of the month for a standard monthly view.
Reading the report line by line
| Line | What it means |
| Revenue | Total gross sales for the period (all sale types combined) |
| COGS | Cost of Goods Sold — ingredient cost + cooking energy cost of products sold |
| Gross Profit | Revenue minus COGS. What you made before expenses. |
| Operating Expenses | All recorded expense entries, grouped by category (rent, transport, staff costs, etc.) |
| Net Profit | The number that matters. Gross Profit minus all expenses. Positive = you made money. Negative = you lost money. |
The charts
- Daily Revenue & Gross Profit – a trend line showing each day's performance across the selected period. Look for patterns: which days are strong? Which are weak?
- Expense breakdown – a bar chart showing how your expenses split across categories. Useful for spotting which cost is growing fastest.
Exporting data
Click the Export button to download Sales or Inventory data as an Excel file for the selected period. Useful for accountant review or tax preparation.
💡
If your net profit looks wrong, check two things first: (1) Are all expenses recorded? Missing expenses make profit look artificially high. (2) Are all sales recorded? Missing sales make profit look artificially low.
Finance
How to use the Pricing Calculator in ZAAGOB ERP
4 min read
Go to: Finance Hub › Pricing & Margins › Pricing Calculator tab
What it does
The Pricing Calculator answers one question: given my current ingredient costs, what price should I charge to hit my target profit margin? It uses your actual weighted average ingredient costs, not guesswork.
How to use it
- Select any product from the dropdown.
- The system shows the current cost per unit based on your actual ingredient purchases.
- Drag the margin slider between 10% and 80%.
- The system calculates and shows:
- The exact price at that margin
- The rounded price (nearest ₦50) — easier to say and remember
- The actual margin at the rounded price
- A comparison grid also shows the price at 30%, 40%, 50%, and 60% margins side by side.
The Cost Analysis tab
In Finance Hub › Pricing & Margins › Cost Analysis, every active product is shown with its current cost per unit, floor price (break-even point), and margins. Click any product to expand and see the full ingredient cost breakdown.
When should you recalculate prices?
Run the Pricing Calculator at least once a month. Raw material prices — especially flour, eggs, and oil — change frequently. When your main ingredient rises in price, your floor price (the minimum you can charge without losing money) goes up automatically. Run the calculator to see how much your prices need to change.
ℹ️
The calculator uses weighted average cost — the blended cost across all your recent purchases of each ingredient. If you bought flour at ₦1,000/kg and then at ₦1,100/kg, the cost used is a blended number between the two, not the most recent price alone.
Finance
How to record expenses in ZAAGOB ERP
3 min read
Expenses are any costs that are not ingredient purchases or payroll — rent, transport, marketing, packaging, electricity bills, generator fuel, etc. They must be recorded to get an accurate net profit figure.
Go to: Finance Hub › Expenses
Adding an expense
- Click Add Expense.
- Select the category (e.g. Rent, Transport, Marketing). Categories are configured in Settings.
- Enter the amount.
- Add a description (e.g. "March rent payment", "Driver salary").
- Set the date. You can backdate expenses to the correct date.
- Select the payment method.
- Click Save.
Where expenses appear
Every saved expense feeds directly into the Net Profit calculation in your P&L report. In the Expenses tab itself, you can filter by category and date range, and see a breakdown bar chart showing which categories consume the most.
Adding expense categories
If you need a new expense category, go to Tools Hub › Settings › Expenses section and add it to the list. It will appear in the category dropdown from that point.
Finance
Cash Flow and VAT report in ZAAGOB ERP
4 min read
Go to: Finance Hub › Cash Flow & VAT
Cash Flow summary
The cash flow view shows actual money in and money out for any selected period:
- Inflows – all recorded revenue, broken down by payment method (cash, transfer, etc.)
- Outflows – all recorded expenses and raw material purchases
- Net Cash Position – inflows minus outflows for the period
Note: cash flow and net profit are different. A sale on credit counts as revenue in P&L but does not appear as a cash inflow until the customer pays.
Price Alert panel
Below the cash flow summary, a Price Alert panel shows any raw materials whose purchase price has risen significantly since the last purchase. Use this as an early warning to review your selling prices before margin erodes.
VAT report
The VAT section calculates:
- Output VAT – VAT collected on your sales
- Input VAT – VAT paid on your purchases
- Net VAT payable – output minus input. This is the amount remitted to FIRS.
VAT is only calculated if you have enabled it in Tools Hub › Settings › Currency & Tax. Set your VAT rate there.
Troubleshooting
Fix the "Insufficient stock" error when recording production
4 min read
The Insufficient stock message appears when a raw material in your product recipe does not have enough quantity on hand to cover the batch you are trying to record.
Step 1 – Find out which material is short
In Floor Mode, the ingredient check panel shows each material with a red warning icon and the exact shortfall (e.g. "Flour: need 3kg, have 1.2kg"). In the Full Production tab, a red error toast lists the affected materials by name.
Step 2 – Record a purchase to top up the material
Go to: Production Hub › Raw Materials
- Find the material showing low stock (it will have a red Low Stock badge).
- Click + Purchase on that material row.
- Enter the quantity you received and the price paid.
- Save. The stock level updates immediately.
Return to Floor Mode or Production and try recording the batch again.
Alternative: Use simple recording for this batch
If the material genuinely is out of stock but you still produced a batch using what you had, you can use Simple Record mode in Floor Mode. This records the units produced without deducting ingredients. Add the missing purchase record afterwards and the stock will reconcile correctly.
Specific case: "Insufficient Eggs" on egg rolls
If the error specifically says eggs are insufficient when you know you have enough, check the Egg Usage Mode setting on the product. If it is set to Whole, the system deducts 1 egg per unit produced — not per batch. For a batch of 60 egg rolls, it needs 60 eggs. If your egg stock shows fewer, add a purchase record first.
Preventing this error in future
Set a Reorder Level on every material in the Raw Materials tab. When stock drops to that level, the system shows a Low Stock alert on the Dashboard and in the notification bell — giving you advance warning before you run out completely.
Troubleshooting
End of Day numbers don't match – how to find and fix the gap
5 min read
The End of Day reconciliation table shows a warning icon when the system's expected stock count does not match what the numbers say should be on your shelf. Here is how to diagnose and fix it.
Common causes
| Symptom | Likely cause | Fix |
| Remaining stock shows higher than reality | A sale was not recorded | Go to Sales Hub > Sales and add the missing sale with today's date |
| Remaining stock shows lower than reality | A production batch was not recorded, or too much waste was entered | Go to Production Hub > Floor Mode and record the missing batch, or edit the waste entry on the batch row |
| Cash variance is negative | Cash is short — a sale may not have been rung in, or cash removed without a record | Verify all today's transactions against your paper records if any, then close and investigate further |
| Cash variance is positive | More cash than expected — a previous balance carried forward, or a sale recorded as Transfer was paid in cash | Check payment methods on recent sales and correct the payment type |
How to edit or delete a transaction before closing EOD
You can edit or delete sales and production entries right up until you click Close Day. Once EOD is closed, entries from that day are locked. See Fix a wrong entry for how to correct past days.
Should you close EOD with a warning still showing?
You can close EOD with a warning icon on a product row if you genuinely cannot find the source of the discrepancy. The warning is recorded in the snapshot. It is better to close the day with an honest warning than to leave EOD open overnight — leaving it open means tomorrow's numbers start without a clean baseline.
Troubleshooting
How to fix a wrong entry in ZAAGOB ERP
4 min read
Fixing a wrong sale
Go to: Sales Hub › Sales
- Find the incorrect sale in the list.
- Click the pencil icon to edit it — change quantities, prices, or payment method.
- Click the bin icon to delete it entirely. You will be asked to enter a reason. The deletion and reason are recorded in the Audit Log.
Fixing a wrong production batch
Go to: Production Hub › Production
- Find the batch in the production list (the list shows today's batches by default; use the date filter to find older ones).
- Click Delete Batch on the row. Enter a reason and confirm.
- Re-record the correct batch with the right numbers.
⚠️
Deleting a batch reverses the ingredient deductions. If you delete a batch and do not re-record it, your raw material stock will appear inflated. Always re-record the corrected version immediately after deleting.
Entries from a closed EOD day
Once End of Day is closed for a day, you cannot edit entries from that day directly. However:
- You can add new sales or production entries backdated to the correct date. These are included in P&L calculations but noted as late entries.
- For significant corrections on a closed day, contact your Super Administrator — they can access the Audit Log to see the full history.
All deletions are logged
Every deletion in the system — sales, batches, expenses, customers — requires a reason and is permanently recorded in Tools Hub › Audit Log. This means nothing can be deleted silently. SuperAdmins and Business Managers can review the full history at any time.
Troubleshooting
What to do when you miss a day of recording in ZAAGOB ERP
3 min read
Missing a day of recording happens. Network was down, you were unwell, or the day was chaotic. Here is exactly how to handle each situation.
Missed production recording
Go to Production Hub › Production (Full Production tab). The production date field defaults to today — change it to the correct past date before recording. The system accepts any historical date. Your stock levels will update retroactively to reflect the correct sequence.
Missed sales recording
Go to Sales Hub › Sales, click New Sale, and set the date to the correct past date. If you have a paper record or memory of what was sold, enter it. Approximate data is better than a gap — even a rough figure gives your P&L more accuracy than nothing.
Missed End of Day
End of Day snapshots cannot be backdated. If you missed closing a day, do not try to reconstruct it. Instead:
- Enter any missing production and sales entries with the correct past dates.
- Close today's End of Day normally. The missing EOD day will show as a gap in the history — this is honest and correct.
- Note in the EOD description field that data was entered retrospectively.
Network outage
ZAAGOB ERP requires an internet connection. If the network is down, write down what you produced, sold, and collected on paper. Enter everything the next day with the correct dates. This is normal in Nigeria and the system is designed to handle backdated entries gracefully.
💡
The goal is 30 consecutive days of data. Even with a few gaps, the patterns that emerge are far more useful than relying on memory alone.
Admin
Managing staff roles and access in ZAAGOB ERP
5 min read
Built-in roles
| Role | What they can access |
| SuperAdmin | Everything — including Settings, Staff management, Security Monitor, Roles, and Usage Monitor |
| Business Manager | All operational features, all reports, all hubs. Cannot access Settings, Staff, Security, or Roles. |
| Production Manager | Full production hub, raw materials, planning, gas/oil, spoilage, inventory, pricing. No sales financials. |
| Sales Officer | POS, sales, customers, EOD, statements, debt recovery, price list, dispatch. No production or financial reports. |
| Inventory Officer | Raw materials, inventory, purchase orders, suppliers, spoilage. No sales or financial reports. |
| Accountant | All finance and ops features, reports, payroll, expenses, purchases. No staff management or settings. |
| External Auditor | Read-only access to all financial and operational data. Time-limited (expiry date set by SuperAdmin). |
Adding a staff member
Go to: Tools Hub › Staff (SuperAdmin only)
- Click Add Staff.
- Enter their full name and email address.
- Select their role from the dropdown.
- If your business has multiple branches, assign them to a branch (optional — leave blank for access to all branches).
- Save. The staff member receives login credentials.
Custom roles
Go to: Tools Hub › Roles
If the built-in roles are not precise enough, create a custom role. A custom role is based on a built-in role but restricts access to specific tabs within that hub. Example: a "Warehouse Picker" role based on Inventory Officer, but limited to Raw Materials and Floor Mode only.
Custom roles appear in the Staff form alongside built-in roles.
Deactivating a staff member
Go to Tools Hub › Staff and toggle the staff member's status to Inactive. Their account is locked immediately. All their historical records are preserved. You can reactivate at any time.
Admin
How to back up and restore your data in ZAAGOB ERP
3 min read
Go to: Tools Hub › Data Management (SuperAdmin and Accountant only)
Exporting a backup
- Click Export Data.
- The system creates a full encrypted backup of all your data (products, sales, production batches, customers, expenses, and more).
- The file downloads to your device with a .zagbak extension. Only ZAAGOB ERP can open this file.
- Store the file in a safe place — Google Drive, email to yourself, or a USB drive.
How often to back up: At minimum, once a month. Before any major change (adding new staff, changing settings) is also a good time to take a backup.
Restoring from a backup
- Click Import Data.
- Select your .zagbak file.
- The system shows a preview of the record counts that will be restored.
- Review the preview carefully, then click Confirm Import.
⚠️
Restoring overwrites existing data. Any records added after the backup was created will be lost. Only restore when you genuinely need to — for example, after accidental mass deletion.
Is my data safe in the cloud?
ZAAGOB ERP stores all data in Google Firestore, a cloud database with built-in redundancy and automatic backups on Google's infrastructure. The manual export is an additional layer of control in your own hands.