Accounting
Real, double-entry, GL-grade accounting — not a "transactions list dressed up as a ledger." Every revenue-generating module (jobs, sales, payroll) posts here automatically.
Chart of accounts
Accounting → Chart of Accounts is the account directory.
Each account has:
- Code + name.
- Type — asset / liability / equity / revenue / expense / contra.
- Parent — supports parent-child hierarchies.
- Status — active / inactive.
- System-protected flag — some core accounts (e.g. AR, AP, retained earnings) are immutable and cannot be deleted or renamed. Tenant- customizable accounts can be added freely.
The chart of accounts is the skeleton your GL posts to.
General ledger
Accounting → General Ledger is the journal.
A journal entry has:
- Number —
{year}-{seq}. - Date + reference (invoice / payment / credit_note / manual).
- Memo — free-text description.
- Lines — at least two, with
account,debit,credit.
Validation
Manual journal entries are validated before write:
- Sum of debits must equal sum of credits.
- Minimum of two lines.
- No negative amounts.
- No split-direction lines on the same line item.
Bad books are structurally impossible.
Auto-posting
The following auto-post to the GL:
- Sales invoice issued → DR AR / CR Revenue
- Payment received → DR Cash/Bank / CR AR
- Credit note → DR Revenue / CR AR (with restock entries to inventory and COGS)
- Purchase order received → DR Inventory / CR AP
- PO vendor invoice → DR Inventory (any adjustment) / CR AP
- PO vendor payment → DR AP / CR Cash/Bank
- Payroll sheet finalized → DR Salary Expense / CR Salary Payable
- Payroll line paid → DR Salary Payable / CR Cash/Bank
The GL is always a true reflection of operations.
Financial reports
Accounting → Reports — pre-built, date-range filterable reports.
Trial balance
Accounting → Reports → Trial Balance — per-account DR / CR /
balance for the period. The foundation of every accounting review.
Profit & Loss
Accounting → Reports → Profit & Loss — revenue vs. expense for
the period, with net income at the bottom.
Both reports are computed live from the journal — not from cached or derived numbers.
How this differs
Most SMB workshop platforms either have no accounting (you export to Excel / QuickBooks) or a shallow "income / expense list." TheGarageOS runs real double-entry bookkeeping that every operational module posts to automatically — jobs, sales, payroll, warranty / returns, all flow into one ledger.
For an owner / accountant, this is the difference between "a tool that helps run a shop" and "a tool that is the shop's financial system of record."
Country-specific tax
Tax calculation is country-aware with a pluggable engine:
- Bangladesh — VAT 15%.
- Malaysia — SST 8% / 10%.
- Other countries — trait-based, ready to extend.
Tax is computed per line item, on every quote and invoice, with the country-specific rate applied automatically based on the tenant's configured country.
Tips
- Don't fight the GL — let auto-posting do the work. Manual entries are for accountant adjustments, not day-to-day operations.
- Trial Balance first — when you spot a discrepancy, run the Trial Balance for the period and walk the accounts.
- Chart of accounts is protected — you cannot delete or rename system accounts. Add your own.
Next: Settings & Branding, or the user journey.