Your first week on the books
Use two synthetic transactions to learn what changes the ledger and how to prove the resulting balances.
PHP Ledger guidance: use this page with the matching release notes and evaluate the workflow using synthetic records.
Start with a fictional empty book
Use a new synthetic company for this exercise so that the expected balances have a known starting point.
This walkthrough is for an owner-operated self-hosted preview. It uses a fictional service business, USD as its functional currency and no opening balances. The public demo already contains sample history, so its totals will not match a zero-start exercise unless the baseline is adjusted. Demo permissions also differ from a private installation. Do not enter real customer names, bank details or credentials while learning on a public demonstration.
The aim is to understand the path from a source record to a posted journal and then to reports. A successful button press is only one observation. Keep a short exercise sheet with the date, source reference, amount, account and expected result. At the end of the week, another person should be able to follow the same sheet and explain why the bank and income balances are correct.
Day 1: establish the company and account meaning
Choose the functional currency and review account roles before entering any posted activity.
The functional currency is the unit in which the book measures its base amounts. It becomes immutable after company creation in this foundation. Choose USD here because the exercise is fictional; an existing business must make a considered choice before migration. Presentation currency and reserved group fields are not a finished group-reporting feature. Do not assume selecting a field creates a conversion or consolidation workflow.
Identify the bank account, an income account and an expense account. Read their roles and hierarchy rather than relying only on display names. A label such as Main Account does not tell you whether an account is classified as bank, expense or equity. Use a bank account permitted for the receipt and expense flows. Confirm that you are working in the intended company and book and have the appropriate posting permission.
- Draft
- A saved source awaiting posting; it does not change the posted ledger.
- Posted journal
- The immutable account movements generated through the central posting service.
- Source reference
- The durable link that lets you trace a journal back to the originating record.
Day 2: save and post a receipt of 1,000
A receipt increases the selected bank account and records the matching income when posted.
Use a synthetic receipt dated 2 September 2026 with a reference such as WEEK-RECEIPT-001. Enter 1,000.00 and select the intended bank and income accounts. First save the draft and inspect it. Review the date, amount, narrative and account choices. Before posting, open the relevant posted report and confirm that the draft has not changed it. This separates data entry from the accounting event.
Post the reviewed receipt once. If the browser response is interrupted, inspect the source and journal before creating another receipt. Durable duplicate prevention is designed around the source identity; a newly created source is a new request, not a safe retry of the old one. The journal should debit bank 1,000.00 and credit income 1,000.00. Both sides are expressed in the book’s base currency for this domestic example.
| Account | Debit | Credit |
|---|---|---|
| Bank | 1,000.00 | — |
| Service income | — | 1,000.00 |
Day 3: record an expense of 125
An expense reduces the same bank account and records its cost in the selected expense account.
Create a synthetic expense dated 3 September 2026 with reference WEEK-EXPENSE-001 and amount 125.00. Use an ordinary operating expense category, avoiding taxes, payroll or inventory assumptions. Save and review its draft before posting. The posting should debit expense 125.00 and credit bank 125.00. No actual payment is sent by this exercise; the record represents a fictional payment already chosen for the example.
Return to the bank account and inspect both movements. The receipt adds 1,000 and the expense removes 125, leaving 875. A bank-account balance is not proof of agreement with an external bank statement. That is a later reconciliation exercise. For now, establish that the application’s own sources and journal movements tell the same story.
Day 4: trace the records in both directions
Follow each source to its journal and each journal reference back to the source.
Read the original date, narrative and account lines. Check that the company and book scope remain the same across the source and report. Look for a durable source reference rather than assuming similar amounts identify the same event. Two different receipts can legitimately have equal amounts. If the report offers filters, make their dates explicit so that an excluded posting is not mistaken for missing data.
Do not edit posted amounts directly in the database or treat a renamed source as a correction. Posted history is protected. A mistaken draft can be corrected before posting; a posted error needs a traceable reversal path. The correction foundation preserves document identity while versioning its postings. The 0.4.0 starter adds supported invoice and bill correction screens; this cash example retains its original scope. Learn the existing reversal behavior separately from developer-facing service capabilities.
Day 5: reconcile the trial balance and profit
The example ends with bank 875, expense 125 and income credited by 1,000.
| Account or measure | Expected result | Why |
|---|---|---|
| Bank | Debit 875.00 | Receipt 1,000 less expense 125 |
| Expense | Debit 125.00 | The single posted cost |
| Income | Credit 1,000.00 | The single posted receipt |
| Trial balance debit total | 1,000.00 | Bank 875 plus expense 125 |
| Trial balance credit total | 1,000.00 | Income 1,000 |
| Example profit | 875.00 | Income less the example expense |
A trial balance proves that the selected ledger’s debits and credits agree; it does not prove that the chosen accounts or dates are correct. A receipt posted to the wrong income account can still balance. Review classification as well as arithmetic. The example profit is a teaching result from two events, not a complete business result with depreciation, tax, accruals or inventory.
If totals differ, inspect scope and date filters first, then the source status and lines. Do not post a balancing adjustment merely to force the expected total. Determine which event explains the difference. Keep the observed result and explanation on the exercise sheet so that the check is repeatable.
Day 6: rehearse a correction in a separate exercise
Use a separate synthetic record so that reversal learning does not silently change the week’s baseline.
Create an additional small fictional expense only if you want to practice reversal. Record its original posting and expected balance effect, then use the permitted reversal action with an explanatory reason. The default reversal date is the current UTC date, not automatically the original date. This may put the reversing entry outside the report range used earlier. Read the journal dates and references before concluding that a reversal is missing.
The owner’s original-date exception requires the period to remain open and does not bypass reconciliation restrictions. Do not reopen or alter periods merely to make a training screenshot match. The correction walkthrough explains how original, reversing and replacement entries relate. Preserve the original two-event example if you want to keep its 875 balance as a stable checkpoint.
Day 7: write the handoff and test recovery
Finish the week with evidence another operator can read and a backup the installation can recover from.
- Record the company, book, functional currency and exercise date range.
- List the two source references and their posting outcomes.
- Retain the trial-balance totals and the explanation of bank 875.
- Identify any extra training entries and their reversals separately.
- Follow the matched backup procedure and check an isolated restoration.
Give the next operator the procedure and nonsecret evidence, not your password. Confirm who may enter drafts, who may post and who controls period actions. If one person performs every role in a small business, the distinction still helps them review their own work. A technical smoke check does not replace independent accounting review before business adoption.
When should you stop this exercise and use a cutover plan?
An existing business needs reconciled opening records, not a fictional zero starting point.
What should you do next?
Do not recreate years of history with a few arbitrary receipts to make a bank balance look right. Use the opening-balances procedure and reconcile unpaid-document evidence at the chosen cutover. If you need customer invoices, vendor bills, inventory costing or regional tax returns now, evaluate a product that already supplies the required workflows. The foundation release prepares internal mechanics; it does not make those screens available.
Questions before you continue
Check these boundaries before applying the procedure to a business installation.
Can I use the public demo for the same totals?
Its existing sample history changes the baseline. Use a new isolated fictional book for the exact zero-start numbers.
Does the receipt send or collect money?
No. This synthetic exercise records a fictional event; it does not initiate a payment.
Sources and next steps
Technical references and project behavior were checked on 16 September 2026; hosting access remains plan-specific.
The linked project files describe the current preview. Follow the instructions inside your exact downloaded package if a later release changes a command. Technical testing does not establish statutory compliance or independent accounting acceptance. See the project and preview limits.
