Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No transaction without reference document // Implementing German (DACH) bookkeeping requirements #2144

Open
benjaminweb opened this issue Dec 19, 2023 · 1 comment
Labels
A-WISH Some kind of improvement request, hare-brained proposal, or plea. journal The journal file format, and its features.

Comments

@benjaminweb
Copy link

German bookkeeping requirements are prevalent in Germany, Austria and Switzerland.
It requires every transaction to have its reference document (proof).

“No transaction without reference document.”

The books are usually furthered starting from the reference documents:

  1. sort reference documents chronologically
  2. enumerate them sequentially with unique identifier, without any leap
  3. assignment to specific account to book the document to (group them by target account)
  4. make the actual transaction per account

As you see, the process is driven by the reference documents.

Reference documents can be:

  • digital, single or multiple pages
  • physical, single or multiple pages

Semantically:

  • cash and non-cash
    • outgoing invoices
    • ingoing invoices
  • non-cash
    • bank statements
  • cash
    • cashier receipts

Hard requirements:
a. Progressive validity: Starting from each reference document every transaction must be verifiable.
b. Retrograde validity: Starting from each transaction, each reference document must be verifiable.

Implementation requirements:

  • Do not permit any transaction without reference document (see b.)
  • Transaction must refer at minimum sequential reference document number, like P123-2 (P for physical, 123 for document id, 2 for page no or sub-sequence)
  • Reference documents might be referred to by one or more transactions (a reference existing in the system without a transaction should raise an error, see a.)
  • Digital documents should be able to get referenced in transactions, with a click.
  • Option:
    • A later transaction is not considered to be valid if it uses the same reference document of a transaction that is separated by a any other transaction(s).
    • Transaction dates should be consistent with used reference document ids.

Available hledger functionality:

Additional required hledger functionality: It would be helpful to be able to

  • parametrise hledger-ui in a way to add an required additional document reference field (NOT NULL).
  • to view attachments in hledger-web

How to organise digital references?

Beancount suggests one scenario to organise the digital references by mirroring the accounts hierarchy.

@benjaminweb benjaminweb added the A-WISH Some kind of improvement request, hare-brained proposal, or plea. label Dec 19, 2023
@simonmichael simonmichael added the journal The journal file format, and its features. label Dec 19, 2023
@simonmichael
Copy link
Owner

support for viewing such attachments in hledger-web would be great. It sounds like an easy project. Just needs a bit of design - perhaps the simplest would be to reserve the file: tag and link that. (That would work for a single attachment per transaction or posting or account. Though I guess you could repeat it too. )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-WISH Some kind of improvement request, hare-brained proposal, or plea. journal The journal file format, and its features.
Projects
None yet
Development

No branches or pull requests

2 participants