â—† Enterprise Resource Planning

One connected system to run the whole business

Sales, Purchasing, Inventory, Accounting, HR, Manufacturing, and Point of Sale — one system where every transaction flows automatically into the right ledger, with nothing re-typed by hand.

One System

Not a pile of screens — one connected system

When a transaction posts in one domain, it pushes automatically into every other domain that depends on it. Here's what actually flows between them:

📒 Accounting 🧾 Sales

Every posted Sales invoice writes a balanced voucher here: debits the client's AR account, credits Sales revenue and VAT payable.

📒 Accounting 📥 Purchase

Every posted Purchase invoice writes a balanced voucher here: debits Purchases and VAT receivable, credits the supplier's AP account.

📒 Accounting 🛒 Point of Sale

Each POS sale posts its own self-balancing voucher split by payment method (cash, card, etc.), on top of rolling up into Sales' aggregated invoice type.

📒 Accounting 📦 Inventory

Stock adjustments and transfers that affect value (not just quantity) post a voucher here against the account chosen for that adjustment type.

📒 Accounting 💰 HR & Payroll

A finalized salary slip and posted employee transactions (advances, deductions) each write their own voucher here.

🕒 HR Attendance 💰 HR & Payroll

Every committed attendance day gives each employee a verified record of hours worked, lateness, and absence, cross-checked against approved leave and the company holiday calendar - exactly the evidence a payroll run needs to justify overtime pay or a late deduction, instead of relying on someone's memory or a paper timesheet.

💰 HR & Payroll 📒 Accounting

Posting a salary run creates one payroll voucher split by cost center — wages, the company's social security contribution, each employee's net payable, and the social security/tax/deduction liability lines. Paying salaries creates a separate voucher that settles cash vs. bank per employee automatically. Employee loans and loan repayments get their own individual voucher the moment they're posted. All of it is blocked from posting into a period accounting has already closed, and unposting reverses the voucher with a soft delete so the audit trail survives.

💰 HR & Payroll 🕒 HR Attendance

Salary calculation pulls bonus, overtime, and deduction figures from the company's payroll rules — and those rules (overtime thresholds, lateness grace periods, overtime multipliers) exist to translate the punches and hours recorded in Attendance into the amounts that show up on the salary slip. Accurate attendance data is what keeps the payroll run's numbers honest.

📦 Inventory 📒 Accounting

Stock adjustments and transfers that carry real financial weight post a GL voucher automatically: Adjustment Out/In and Damaged Voucher move value between a chosen voucher sub-type account and the company's transfer-credit account, while a branch-to-branch Transfer Items document debits and credits the two sides of the move. Opening Balance is the one exception - it seeds quantity on hand without ever touching the books.

📦 Inventory 🧾 Sales

Every posted sales invoice and sales return draws down or restores stock quantity and drives the item's cost calculation, exactly like a purchase does in reverse - Sales and Inventory share the same on-hand number.

📦 Inventory 🏭 Manufacturing

Production orders consume raw-material stock and post finished-goods stock back into Inventory based on the item's bill of materials, so manufacturing draws from and feeds the exact same stock ledger as everything else.

🏭 Manufacturing 📦 Inventory

A production order is really an Inventory adjustment pair under the hood: posting it consumes each raw-material line's quantity from the source branch/store and adds the produced quantity of the finished item to the destination branch/store, using the exact same Adjustment In/Out documents Inventory uses for its own stock corrections. Saving a Bill of Materials also writes its computed cost and price straight onto the finished item's own barcode record, so Inventory, POS, and invoicing all see the same up-to-date numbers immediately.

🏭 Manufacturing 📒 Accounting

Production posting is a pure stock movement, not a financial one: the Adjustment In/Out pair a manufacturing order creates has its valuation and VAT deliberately hardcoded to zero, so turning raw materials into a finished good does not post a GL voucher. Cost is still tracked line by line for accurate item costing - it just isn't booked as a journal entry the way an Inventory write-off or branch transfer is.

🛒 Point of Sale 🧾 Sales

Every POS sale and POS return is saved and posted immediately as its own invoice, tagged under a shared 'Point Of Sales (aggregated)' type in Sales (with a matching return type for refunds) - the mechanism by which hundreds of small till transactions across every session roll up into Sales' own reporting as one recognizable stream, distinct from named, client-billed sales invoices.

🛒 Point of Sale 📦 Inventory

Every item added to a POS cart draws from the exact same live stock ledger as any other sales document - posting a sale drops on-hand quantity immediately, and a POS return restores it, just like Inventory's other stock-affecting documents.

🛒 Point of Sale 📒 Accounting

Finishing a sale posts a self-balancing GL voucher on the spot: the debit side is split across whichever payment methods the cashier actually collected (cash, card, etc.) against their configured clearing accounts, crediting Sales and VAT; a return reverses the same accounts as one lump cash refund. Petty-cash movements during a shift are tracked separately and can be cross-checked against the posted accounting ledger.

📥 Purchase 📒 Accounting

Posting a purchase debits Purchases and VAT receivable, credits the supplier's AP account — a fully balanced voucher, generated automatically.

📥 Purchase 📦 Inventory

Posting a purchase increases stock quantity and updates cost for every line item; posting a return decreases it again.

🧾 Sales 📒 Accounting

Posting a sale debits the client's AR account and credits Sales revenue plus VAT payable — a fully balanced voucher, generated automatically, every time.

🧾 Sales 📦 Inventory

Posting a sale decrements stock quantity for every line item; posting a return puts it back.

🧾 Sales 🛒 Point of Sale

Point of Sale doesn't post its own separate ledger — every register sale rolls up into the "Point Of Sales (aggregated)" Sales invoice type here, and every POS return into its aggregated return counterpart.