Skip to content

Accounting Module

The Accounting module is the financial backbone of Moon ERP. It implements a full double-entry bookkeeping system with multi-currency support, fiscal year management, cost center tracking, and a complete lifecycle for journal entries from draft through approval to posting.

Purpose

  • Maintain a hierarchical Chart of Accounts for organizing financial data
  • Record financial transactions via Journal Entries with debit/credit lines
  • Manage Fiscal Years and auto-generated Fiscal Periods (monthly)
  • Support multi-currency operations with exchange rate tracking
  • Track costs by department or project using Cost Centers
  • Handle tax rates (VAT and withholding) for purchase and sales transactions
  • Manage bank accounts, checks issued/received, and petty cash funds
  • Provide financial reports: income statement, balance sheet, cash flow, trial balance, aging, and more
  • Support opening balances, year-end closing, budgets, and cost allocation

Double-Entry Bookkeeping

Every financial transaction in Moon ERP is recorded as a journal entry with at least two lines. The fundamental rule is:

Total Debits = Total Credits

  • Assets and Expenses have a natural debit balance -- they increase with debits.
  • Liabilities, Equity, and Revenue have a natural credit balance -- they increase with credits.

This ensures the accounting equation always holds:

Assets = Liabilities + Equity

Sub-Features

FeatureDescriptionLink
Chart of AccountsHierarchical account treechart-of-accounts
Fiscal Years & PeriodsFiscal year and period managementfiscal-years
Journal EntriesDouble-entry transactions with lifecyclejournal-entries
Currencies & Exchange RatesMulti-currency supportcurrencies
Cost CentersDepartmental/project cost trackingcost-centers
Tax RatesVAT and withholding tax managementtax-rates
Bank AccountsBank account registrybank-accounts
ChecksChecks issued and received with lifecyclechecks
Petty CashPetty cash funds and transactionspetty-cash
Account TransfersInter-account fund transferstransfers
Entry Templates & RecurringReusable templates and scheduled entriesentry-templates
Opening BalancesOpening balance entry and confirmationopening-balances
BudgetsAnnual and periodic budgetsbudgets
Cost AllocationCost distribution rulescost-allocation
Fixed AssetsAsset tracking and depreciationfixed-assets
Bank ReconciliationBank statement matchingbank-reconciliation
AR / APAccounts receivable, payable, and nettingar-ap
Year-End ClosingFiscal year closing processyear-end-closing
Financial ReportsIncome statement, balance sheet, and morereports

Entity Relationship Overview

API Base Path

All Accounting module endpoints are prefixed with:

/api/accounting/

Authentication is required via a Sanctum bearer token on every request. See Authentication for details.

Localization

Every request can include an Accept-Language header set to ar or en to control which language is returned for bilingual fields (name, description). When set to ar, the API returns the Arabic value; otherwise it falls back to English.

Accept-Language: ar

Monetary Precision

All monetary fields use decimal(15, 3) or decimal(12, 3) to support the Kuwaiti Dinar (KWD), which requires 3 decimal places. Exchange rates use decimal(18, 6) for precision.

Moon ERP API Documentation