Accounting
Each company's double-entry books: entries posted from sales, stock, bills and invoices, Thai VAT and withholding tax, statements and year end.
Accounting keeps each company's books inside the app. Sales from POS, Storefront and Booking, stock received and sold in Inventory, and supplier invoices from Purchasing post themselves. The accountant enters bills and invoices, pays and collects, files VAT and withholding tax, and closes the month and the year. Finance keeps its revenue reports and tax documents, and Accounting reads them rather than keeping a second copy.
Accounting comes in two editions on your plan: Accounting Small, and Accounting Medium, which adds terms and credit limits, payment runs, receipts for many invoices, billing notes, deposits, credit and debit notes, cheques, aging, party statements and bank reconciliation. New apps start with it switched off.
What it handles
- Books that balance to the satang. An entry a satang out of balance is refused, and a balanced one posts once even when it is sent twice. A closed month stays closed: a correction is a reversal dated in the next open month. Tested: "Accounting: ledger core"
- Sales that post themselves. A month of every kind of sale posts each one exactly, and output VAT matches Finance's VAT report month by month. A QR sale refunded through the payment provider comes back out of card clearing, not cash. A Location can't close its month while one of its sales is still waiting to post. Tested: "Accounting: sales into the books"
- Bills, payments and withholding tax. A bill paid in three parts issues one 50 ทวิ certificate for each payment. Voiding a payment reopens the bill and voids its certificate, which is never reused. ภ.ง.ด.3 and ภ.ง.ด.53 upload files match the published format byte for byte. Tested: "Accounting: paying bills" Tested: "Accounting: withholding tax filing"
- Invoices and getting paid. Goods VAT is reported in the invoice month and services VAT in the month it is paid. Cancelling a 5-unit invoice and reissuing 4 moves stock and cost of goods by exactly 4 units at FIFO. Tested: "Accounting: invoices and getting paid"
- Deposits come off the final invoice. A customer's deposit charges its VAT on its own receipt when the money comes in. The final invoice lists the deposit as a line naming that receipt and charges VAT only on the rest, so the price is taxed once. Cancelling the invoice gives the deposit back. Tested: "Accounting: deposits, notes and returns"
- VAT filing per establishment. ภ.พ.30 is filed from the ledger, a month's credit carries into the next, and a late line in a filed month goes on an additional return instead of the next month's. Tested: "Accounting: VAT reports and filing"
- Purchasing sees what it owes. A half-paid bill shows as part paid with exact amounts. Sending an order that would take a supplier over its credit limit is refused unless the sender overrides it. Returning 2 of 10 billed kilos takes them out of stock at FIFO cost and credits the bill. Tested: "Accounting: supplier balances in purchasing" Tested: "Accounting: goods returned to a supplier"
- Statements and year end. Profit and loss and the balance sheet run for any range, by Location and against last year. The year closes into retained earnings, locks, and can reopen. Tested: "Accounting: statements and year-end"
- Your plan decides the edition. On Small, nothing that only Medium can start gets started, and a cheque or deposit started on Medium can still be finished. On a plan without Accounting, every Accounting page shows one card and nothing can be read or written. Tested: "Accounting: switching editions" Tested: "Accounting: ledger core"
- Each company's books are its own. A request from one company that names another company's records is refused and writes nothing. Tested: "Accounting: tenant isolation"
What you build on top
- Switch it on. Accounting ships switched off. Ask Stardeck to add Accounting Small or Medium to your plan, then turn it on in the app's Modules tab (see two switches). A plan change reaches the app in about a minute, with no deploy.
- Before the first entry. In Accounting → Settings, set each company's books start date. Nothing posts until it is set. Opening balances are entered once, on that date.
- Who keeps the books. Give
accounting:read,accounting:post,accounting:payandaccounting:settingsto the role your accountant uses. Managers who enter bills and invoices at their own Location needaccounting:readandaccounting:post. - In code. Your coding agent imports Accounting only through its public API:
index.tsandserver/index.tsinapps/web/src/modules/accounting/. See Build on a Module.
Limits
- The books follow Thai accounting and tax rules: Thai VAT, ภ.ง.ด.3 and ภ.ง.ด.53, and Buddhist-era dates. Other countries' rules aren't modelled.
- Without Accounting on your plan, the Accounting pages are closed. What is already recorded stays and comes back when Accounting is on your plan again.
Facts
- Kind: feature Module, can be switched on and off
- Needs: Audit log, Branches, Customers, Finance, Formatting, i18n, Identity, Infra, Inventory, Standard UI, Supply chain
- Needed by: Nothing
- Adds to these when they're on: Booking, POS, Staff, Membership, Storefront
- Added to by: Nothing
- Off by default for these business types: none
Pages
| Where | Path |
|---|---|
| Admin | /admin/accounting |
Permissions
Admin holds every key. The other roles listed hold it when the app first gets the Module; after that, roles are yours to change under Settings → Roles & Permissions.
| Permission | What it allows | Organization roles that start with it |
|---|---|---|
accounting:read | View the books: accounts, entries, bills, invoices, payments, reports and tax filings. | Admin |
accounting:post | Post journals and starting balances, enter bills and invoices, and record money received or moved. | Admin |
accounting:pay | Pay bills, remit taxes and record other money paid out. | Admin |
accounting:settings | Change the chart of accounts, account roles, books start date and year-end. | Admin |
Data
- Tables:
acct_settings,acct_account,acct_entry,acct_entry_line,acct_year_close,acct_user_pref,acct_operation,acct_post_failure,acct_customer,acct_bill,acct_bill_line,acct_invoice,acct_invoice_line,acct_payment,acct_payment_allocation,acct_wht_certificate,acct_wht_certificate_line,acct_vat_return,acct_tax_remittance,acct_billing_note,acct_billing_note_invoice,acct_deposit_application,acct_note,acct_note_line,acct_deposit_slip,acct_cheque,acct_reconciliation,acct_reconciliation_line
Tested workflows
- Accounting: ledger core
- Accounting: posting engine
- Accounting: settlement core
- Accounting: starting balances
- Accounting: trial balance and ledger reports
- Accounting: stock cost into the books
- Accounting: supplier bills
- Accounting: supplier balances in purchasing
- Accounting: goods returned to a supplier
- Accounting: paying bills
- Accounting: invoices and getting paid
- Accounting: customers kept in Customers
- Accounting: bank and cash
- Accounting: VAT reports and filing
- Accounting: withholding tax filing
- Accounting: statements and year-end
- Accounting: goods and raw materials report
- Accounting: accountant overview
- Accounting: batch payments and receipts
- Accounting: aging and statements
- Accounting: deposits, notes and returns
- Accounting: cheques
- Accounting: bank reconciliation
- Accounting: switching editions
- Accounting: admin home and search
- Accounting: company bank accounts
- Accounting: AP and AR control accounts
- Accounting: the daily journal export reads the books
- Accounting: refusals
- Accounting: booking a supply invoice
- Accounting: credit from goods returned to a supplier
- Accounting: supply bills it refuses to book
- Accounting: a supplier return's credit note
- Accounting: voiding an opening bill
- Accounting: booking deposits earned (with Booking on)
- Accounting: packages sold, used and expired (with Membership on)
- Accounting: membership's books follow its records (with Membership on)
- Accounting: loyalty points (with Membership on)
- Accounting: sales into the books (with POS on)
- Accounting: till cash (with POS on)
- Accounting: till cash to the bank (with POS on)
- Accounting: payroll (with Staff on)
- Accounting: payroll with staff off (with Staff on)
- Accounting: payroll access (with Staff on)
- Accounting: tenant isolation (with Staff on)
- Accounting: shop refunds owed and gift cards (with Storefront on)
- Accounting: shop refund payout methods (with Storefront on)