# Document numbers (Belegnummern) on expenses, asset purchases, manual entries, credit notes & payments

> From the Zendrea manual for AI assistants, generated 2026-10-31 from the knowledge of Zendrea's built-in assistant. All topics: https://www.zendrea.ch/llms.txt; all of them in one file: https://www.zendrea.ch/llms-full.txt. Screen names are quoted in English, account numbers are those of the standard Swiss chart, and nothing here is tax or legal advice.

Every expense and asset-purchase booking gets a short **sequential document number**, assigned automatically on save and shown in a "Document no." column in the expenses list, the asset-purchases list, the Open Items payables table, and the Ledger report. The series follows the **paid-from account** — Belegkreis convention, the number tracks the FILED document: **cash (1000) → K1, K2, …** (the classic Kassenbeleg series), **bank (incl. currency banks) → the B series** (Bankbeleg — the statement line; same series and same scheme-following behaviour as the payment dialogs, so a custom scheme like B-0114 continues as B-0115 and a typed value is kept exactly as entered), **anything still owed (payable, creditor, prepaid, credit card, shareholder loan) → ER1, ER2, …** (Eingangsrechnung — incoming supplier document; expenses and asset purchases share one ER series). Each series restarts at 1 per fiscal year. The booking form's "Document no." field previews the next number; the user can write it on the paper/PDF document to bridge it to the booking, and may type a manual override: in the K/ER series "ER12" or just "12" joins the series, and ANY other value — e.g. a statement scheme "B-0114" on an on-account booking — is stored exactly as entered (it simply sits outside that counter; the B counter scans ALL bookings, so B-numbers filed anywhere advance the same suggestion). Duplicates within the period are rejected either way. Bookings made before the bank-paid rule keep their old ER numbers — editing one never renumbers it; only clearing the field draws a fresh number. Quotes are not bookings and carry no Belegnummer: they have their own number series (OF-<year>-001, the topic [quotes](https://www.zendrea.ch/docs/quotes.md)).

**Which accounts a payment can come FROM** (the "paid from" lists, their groups, banks, shareholder loans, 1090 and 1300): the topic [paid-from](https://www.zendrea.ch/docs/paid-from.md).

**Payment settlements have their own number too**: the payment dialog (expenses, asset purchases, invoice receipts, and the Open Items settle button) has a "Payment document no." field. Paid from **cash → next K-number** (Kassenbeleg); paid from **bank → B1, B2, …** (Bankbeleg — the debit advice / bank-statement line, for BOTH outgoing payments and incoming receipts). The field pre-fills the next number as a placeholder; left empty, the server assigns it. A typed value here is kept **exactly as entered** — custom schemes like "B0101" (statement 1, movement 1) or dashed "B-0108" are stored verbatim, and the next-number suggestion follows the user's scheme: zero-padding AND a separator (dash, dot or space) are continued, so after B-0114 the placeholder offers B-0115 and an empty field books exactly that. The B counter scans ALL bookings in the period, so B-numbers filed on expenses or through the Sonstige form advance the same suggestion. Only an exact duplicate within the period is rejected. Payments booked before this feature keep their long system numbers (EXP-PAY-…, ASSET-PAY-…, OI-PAY-…, PAY-{invoice number}), as do bookings made before the K/ER feature (EXP-…, ASSET-…); they gain a sequence number only if rebooked. Invoices use the invoice number itself on the invoice BOOKING; salaries and system entries (amortization, VAT/AHV payments) keep their system numbers.

**Manual entries and credit notes have series too**: the Sonstige (Others) manual-entry form draws **D1, D2, …** (Diverse / Memorialbelege), an incoming supplier credit note draws **EG1, EG2, …** (Eingangsgutschrift — the ER mirror), and a credit note we issue to a client draws **GS1, GS2, …** (Gutschrift, matching bexio's per-document-type ranges). Same per-fiscal-year restart and next-number placeholder as K/ER, but with the payment dialog's **verbatim** rule: a typed value is stored exactly as entered, so a user working through a bank statement can keep filing "B0101"-style references in the Sonstige form, and a vendor credit note can carry the vendor's own number. Only an exact duplicate within the period is rejected. Entries booked before these series carry a synthesized system tag (OTH-…, CN-…) that is HIDDEN in lists and in the form — they draw a real D/EG/GS number if rebooked, so never quote an OTH-/CN- string back to the user.

**Connecting a payment to its bill**: the payment's own number tracks the external voucher (bank statement line), while the in-app link lives in the payment row's **description**, composed automatically: "Payment {bill document no.} - {bill description}" for expense/asset/open-item settlements (e.g. "Zahlung ER5 - Miete Juli") and "Payment {invoice number} - {client}" for invoice receipts. Because the Ledger and Bank Account searches match these composed descriptions, searching a bill's number (e.g. "ER5") surfaces the bill AND its payment together — the fastest way to answer "was this bill paid, and by which entry?". (For a payment whose bill sits in another fiscal year, the composed label falls back to the stored text.)

**Payment date rule**: the payment dialog does not accept a payment date EARLIER than the underlying document's own date (expense/asset booking date, invoice issue date, salary booking date) — in the edit-payment flow too. Entering an earlier date keeps the value visible but shows a RED hint under the date field naming the floor ("Das Zahlungsdatum darf nicht vor dem Belegdatum von ER11 (12.06.2023) liegen.") and disables the booking button until the date is fixed; the calendar picker also greys the invalid days. If the bill's own date is the wrong one, correct THAT first: for a settled bill the order is delete the payment → edit the bill's date → re-pay (a bill with a linked payment cannot be edited directly). The VAT / AHV / BVG settlement dialogs bound the date by the settled quarter's / year's START instead (in-period payment dates are fine — Akonto-style payments during the quarter are normal; only dating before the period begins is blocked, with the analogous hint).

**Booking date rule**: an entry's own date (expense, asset purchase and disposal, invoice, quote, revenue, manual entry, credit notes, salary, and Quick Entry) must lie in the fiscal year selected at the top. A date outside it is NOT moved: the field shows it in RED (the reason on hover), a red note below the form names the year covering the date (it disappears as soon as the date or the year is changed), and saving is refused meanwhile. Two fixes: correct the date (a receipt reader can misread a year), or switch the year at the top to the one covering the date and save there; the open dialog keeps its contents across the switch. A receipt from last year is booked in last year, not on 01.01 of this one. When no fiscal year covers the date, correct the date, or add that year with "Add new fiscal period" in the header's fiscal period selector.

**Account balances in the pickers**: every account dropdown in the booking dialogs (expense, invoice, manual entry, credit notes, salary, asset forms) and the payment dialog's pickers (**paid-from** and **difference account**) shows the account's **current balance**, right-aligned on each row — the selected fiscal year's balance on an accrual basis, the same signed figure as the Account Balances report. Accounts nothing has touched stay blank (a zero AFTER movements still shows — that zero is information). This is the classic control while working through a bank statement: after booking its last movement, the bank account's balance in the picker must equal the statement's printed closing balance; a mismatch means a movement is missing, doubled or mistyped. Balances refresh after every saved booking. Typing digits in a picker searches account codes and names only — never the balances.

**Finding a booking (search boxes):** every entry list (expenses, invoices, salaries, asset purchases, others) and the **Ledger, Bank Account and Open Items reports** have a search box next to the list title, above the table (in Open Items one box filters the payables and receivables tables at once). One box searches everything visible on the row — document number ("ER12", "B0101"), description, counterparty (client/employee/supplier name or account code), and amount (typing "1500" finds 1500.00; Swiss "1'500.50" and comma decimals work). All of these boxes are series-aware: typing just a Belegnummer series head — 1 to 3 letters, like "ER", "K" or "B" — filters to the document numbers starting with it instead of matching every word containing those letters, which makes checking a series' numbering against its date order easy; this works for any custom scheme ("BB" finds BB351-001), separators are forgiven ("B03" finds B-0304), and if the list has no such series the term is simply searched as normal text again ("AHV" finds AHV bookings by description). In the Bank Account report the box matches document number, description and the inflow/outflow amounts (not the running balance — it is derived, not booked), so a payment is findable there by its B-number or by the amount on the statement line. So when a user asks "where is the invoice from X / receipt ER12 / the 350-franc booking", point them to the search box of the relevant list, or the Ledger's for period-wide search. The search is scoped to the selected fiscal period. The Ledger also has TWO date columns with click-to-sort headers: "Booking date" (Buchungsdatum — the journal's canonical order, default, newest first) and "Entered" (Erfasst am — when the booking was captured, full timestamp in the cell's tooltip). Clicking "Entered" puts the most recently captured bookings on top even when they are backdated — the way to answer "what did I just enter?" while backfilling an old period; clicking a header again flips its direction. The Ledger also has a **"Type" column** (Art) between the document number and the description, naming what each row IS in plain language — Expense, Asset, Invoice, Revenue (a direct "New revenue" booking), Salary, Manual, Credit note, Payment, Depreciation, Disposal, Opening, Closing, or **Imported** for rows that came in through a bexio/CSV ledger import and carry no origin of their own. This exists because the Belegnummer series says where the DOCUMENT is filed, not what the booking is: the same expense is K when paid in cash, B when paid from the bank and ER when still owed, and expenses share the ER series with asset purchases — so the number alone can never answer "what kind of booking is this". The label is searchable in the same box, so typing "Lohn"/"Salary" narrows the Ledger to salary bookings. A row showing "–" is one whose origin could not be determined. The Account Balances report and Chart of Accounts settings filter by account code or name. Next to the Ledger's search box sit two payment filter buttons (arrow-down icon = "Show in-payments only", arrow-up = "Show out-payments only"; the active one is highlighted, clicking it again clears the filter — one of the two at a time, and the text search still applies on top). They filter by payment KIND, not by bank account: in-payments = invoice payments, incoming open-item receipts and VAT refunds; out-payments = expense, asset, salary and open-item payments plus the VAT, AHV and BVG settlements — including payments made from non-cash accounts like a shareholder loan or the company credit card. Useful for checking bookings off against a bank statement. The **Expenses, Asset purchases and Invoices lists** have a similar toggle next to their search box, highlighted while active. It deliberately reuses the ROW pay button's own icon — arrow-up on Expenses and Asset purchases ("Show only unpaid expenses / asset purchases"), arrow-down on Invoices ("Show only unpaid invoices") — because it filters to exactly the rows whose pay button is still live: on Expenses/Asset purchases the bills still awaiting payment (paid, credit-settled, direct bank/cash bookings and asset disposals disappear); on Invoices the booked-but-unpaid invoices (paid, credit-settled and unbooked drafts disappear) — the quick "what do I still have to pay / collect" view while working in the panel, complementing the period-end Open Items report.
