Follow a transaction from its first draft to the report

The 0.4.0-preview download covers core invoices, bills, partial payments, credits and ageing, optional Purchasing and Inventory, manually configured tax, and the journals and reports behind them. Your books run on your own server.

Version 0.1.0-preview · Screens show synthetic company data.

Set up a separate company

Choose the business name, fiscal dates and one base currency. Review the preliminary account template before starting. Sample companies keep fictional activity separate from your own books.

Review opening balances and unpaid-document evidence in a saved cutover preview, then confirm explicitly. Use synthetic data while evaluating the workflow.

Company setup · Synthetic sample data

Save a draft, then post it

Record the date, payee, category and amount. Saving a draft leaves the books unchanged. Posting creates a balanced journal and preserves the source document.

The sample expense debits general expenses 125.00 and credits cash and bank 125.00.

A posted expense · Synthetic sample data

Keep corrections traceable

A posted entry stays intact. Correct it with a linked reversal that retains the original entry and the reason for the correction. Closed periods reject new postings.

Company membership and action permissions are checked on the server.

Linked reversal · Synthetic sample data

Read the figures behind the day

Reports read posted entries in the selected company and book. The owner overview connects to profit and loss, balance sheet, cash balance, account activity and trial balance. In 0.4.0-preview, Reports links directly to an account ledger with opening, debit, credit, running and closing balances. Mobile entries keep the running balance visible. Account changes retain an audit history, and general journals can be saved, reviewed, posted and reversed.

The cash scenario starts from recorded cash and applies the weekly inflows and outflows you enter. It is a planning example, not a forecast from a bank feed.

These are development reports. Qualified regional accounting review, complete disclosures and issued-report reproducibility remain release gates.

Invoices, bills and the remaining balance

AR and AP share one customer/vendor party model and the authoritative open-item ledger. Save a document, review its lines and tax mode, post it, then record a partial or final allocated payment. Linked credits and historical ageing retain the accounting trail. Compare open items with their general-ledger control accounts, and match payment lines through the existing bank CSV reconciliation.

Optional purchasing and inventory

Purchasing separates an order from a physical receipt and a later supplier bill. Receive part of an order, match received quantities to AP bills, review price/rate variances and inspect received-but-unbilled clearing. Inventory supplies one stock location, moving weighted-average cost, counts, reviewed adjustments and source-linked returns. Stock invoice lines issue goods and their cost together; the separate cash POS does not deduct stock.

Manual tax, with a visible price choice

Configure tax codes, dated rates and input/output accounts manually. Choose tax-exclusive or tax-inclusive entry, then review net, tax and total separately. Saved documents freeze that choice and their tax snapshot. No country selection activates tax rules, withholding, statutory forms or filing. Follow the starter's fictional invoice and stock experiments.

One base currency per book

Choose USD, EUR, GBP, PKR, INR, MYR, BDT, LKR, NPR or SGD. The current interface is English. Currency choice does not activate country tax rules. Documents can use explicit currency/rate snapshots and supported settlement mechanics; automated rate feeds, revaluation and consolidation remain outside this starter.

Scope still to come

Advances, unapplied credits, refunds, multiple warehouses, batches/serials/expiry, landed cost, country tax rules, statutory filing, detailed historical imports and alternative accounting books remain outside 0.4.0-preview. Opening cutover, period administration, bank CSV reconciliation and core CSV exports are included. Reports remain management previews; professionally reviewed statement packages are unfinished.

Read the development roadmap

Questions about PHP Ledger

Is PHP Ledger free and open source?

The project-owned core and current modules use AGPL-3.0-or-later; a commercial licence is available. Published 0.1.0 through 0.1.5 previews retain their MIT grants. You can inspect and host the software yourself; hosting, setup and optional support have their own costs and terms.

What can I do in the current preview?

Create invoices and bills, record partial payments and credits, inspect ageing and reconcile controls. Optional Purchasing and Inventory cover orders, receipts, matched bills, stock cost and returns. Core manual tax supports inclusive/exclusive prices; existing cash, journal, opening, period, bank CSV and reporting workflows remain available.

Can I try it without registering?

Yes. The public demo creates a private synthetic company for your visit. Its records and access expire at the next hourly reset. Enter only fictional information.

Does the POS process payments or manage stock?

It records an illustrative cash sale and its balanced journal, with a printable receipt. Card capture, stock deduction, cost of sales and tax calculations are not included.

Can AI assistants connect to my books?

The current release includes scoped, revocable read API and MCP connections. Connect a private client with a dedicated token or use per-user OAuth. The published client matrix identifies tested versions and pending clients; financial writes are not exposed.

Are the reports approved for tax or statutory filing?

The reports are country-neutral management previews. Currency choice does not activate tax rules. Qualified regional accounting review and supported statement packages remain open gates.

What do the reports answer?

A report is a scoped view of posted records. Choose the company, book and date before comparing figures.

Report questions and evidence
ReportQuestionEvidence to inspect
Trial balanceDo debit and credit totals agree?Account balances and the underlying journal lines
Profit and lossWhat income and expenses fell in the period?Income/expense accounts and source postings
Balance sheetWhat are assets, liabilities and equity at this date?Closing account balances and classifications
Account ledgerHow did this balance change?Opening, movements, running balance and source links

In the worked cash example, income of 1,000.00 less an expense of 125.00 gives profit of 875.00. Cash is also 875.00 only because this example has no opening balance, credit transactions, owner funding or other movements. Learn why profit and cash usually differ.

What do the accounting terms mean?

The same definitions guide entry, posting and review; a familiar label should never hide a different balance rule.

Double-entry
A method in which every posted journal has equal debit and credit totals.
Draft and posting
A draft is saved work. Posting validates and records its effect in the ledger.
Journal and linked reversal
A journal records the financial effect. Its reversal records the opposite effect on an explicit date and retains the original evidence.
Functional currency
The currency in which the book measures its accounts. It is immutable after creation; foreign lines also retain their original amount and rate snapshot.
Period close
A control that rejects new postings within a closed date range.
Bank reconciliation
The comparison of a bank statement with the book account, with unresolved differences investigated.

The full glossary defines reports, control accounts, subledgers and cutover evidence.

How can a client read a scoped report?

Dedicated tokens or per-user OAuth grant bounded read access; connections do not expose a financial posting command.

GET /api/v1/trial-balance?company_id=1&book_id=1&as_of=2025-12-31
Authorization: Bearer YOUR_PRIVATE_TOKEN

This is an illustrative request shape for your own installation. Replace identifiers with a company and book the connection is allowed to read, and keep the token private. The public demo uses the /demo prefix. A successful report read does not grant access to another company. See the API/MCP documentation and client matrix before selecting a client.

When should you choose another accounting product?

Choose a product with the required supported scope when you need statutory filing, advanced inventory, payroll or independently accepted reporting now.

PHP Ledger is useful for evaluating an inspectable PHP accounting starter with a thin document-to-payment and purchase-to-stock workflow. It has less operational coverage than established ERP and accounting products. Hosting simplicity does not remove the need for backups, upgrades, accounting decisions or staff training. The sourced comparisons describe where each alternative fits and where PHP Ledger loses.

Start with a worked reporting guide, then run the same fictional task on your intended host. Record the result and any missing workflow before deciding whether to continue.

Product screen

Development preview with synthetic sample data

Scroll the image to explore it. With a keyboard, focus the image area and use the arrow keys.