diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-08-03 19:22:36 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-08-03 19:22:36 +0200 |
| commit | 853bbb3752a5fa2f58ef456ffb6e3a552e13cb11 (patch) | |
| tree | ce49a533f82a42a65fa6a4771a7b8fbfe33798cf /NOTES.md | |
initial commit
Diffstat (limited to 'NOTES.md')
| -rw-r--r-- | NOTES.md | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 0000000..22b2ca1 --- /dev/null +++ b/NOTES.md @@ -0,0 +1,113 @@ +## List of work to do + +Manage invoices and all information associated with invoices. +- create, read, update, delete +- send invoice by email +- create invoice from pdf file +- create invoice from image of receipt + +Manage contacts and view transaction history. +- Create, read, update, delete +- View complete transaction history + +Manage projects. +- Create, read, update, delete + +View monthly and quarterly results (per project). +Create quarterly tax reports. + +## Save file +Your administration is stored in a single `.money` file. +This is a zip file with the following format: + +administration.money/ +├── administration.json +├── incoming/ +├───── invoice_1.pdf +├───── invoice_2.pdf +├───── receipt_3.png +├── outgoing/ +├───── invoice_4.pdf +├───── invoice_5.pdf +├───── invoice_6.png + +`administration.json` contains all the information described below in the `Administration` data structure. + + +## Data structures + +| Administration|| +|-|-| +| info | Contact information | +| next id | Id reserved for new data entry | +| path | File path to save to | +| program version | Version of data format | +| country | Country code (used for tax reports) | +| contacts `list` | List of contacts | +| projects `list` | List of projects | +| invoices `list` | List of invoices | +| AI service | Which AI service to use | +| AI key | API key for selected AI service | +| email service | Which email service to use | +| email key | API key for selected email service | + +| Contact|| +|-|-| +| id `auto` | reference id `C/[id]` | +| name `required` | Full name of individual or company name | +| address line 1 `required` | Address | +| address line 2 `required` | Zip, place, country | +| tax number | Tax identification number | +| business number | Business number | +| email | Email address | +| Phone number | Phone number | +| bank account | Bank account number (to display on outgoing invoices) | + +| Invoice|| +|-|-| +| id `auto` | reference id `I/[id]` | +| invoice number `auto` | Generated invoice number | +| is outgoing `required` | incoming or outgoing invoice | +| contact `required` | Contact information, stored as reference `C/[id]` | +| issue at `required` | Date when invoice was issued | +| delivered at `required` | Date when goods or services were delivered | +| expires at `required` | Date when invoice expires | +| document `required` | Document associated with invoice, stored as filename | +| billing items `required` `list` | List of billed items | +| project `required` | Project, stored as reference `P/[id]` | +| category `required` | Expense category (incomming invoices only) | +| total `required` | Total amount billed | +| tax `required` | Total tax billed | +| net `required` | Total amount excl. tax | +| status `required` | Payment status `paid` `expired` `cancelled` `refunded` | +| shipping address line 1 `required` | Address | +| shipping address line 2 `required` | Zip, place, country | +| currency `required` | Currency used for billing | +| keep untill `required` | Date untill invoice needs to be stored legally | +| payment on account date | If advance payment received and differs from invoice date (Ireland only) | +| tax representative | If supplier uses tax representative in another Member State (Belgium only) | + +| Billing item|| +|-|-| +| id `auto` | reference id `B/[id]` | +| invoice `auto` | reference to invoice `I/[id]` | +| description `required` | Description of billed item | +| tax percentage `required` | Tax percentage (e.g. 0%, 21%, exempt, reversed) | +| tax section `required` | Tax section (e.g. 1a upto 4b in The Netherlands) | +| amount `required` | Amount of items | +| net per item `required` | Price per item excl. tax | +| net `required` | Total amount excl. tax | +| discount `required` | Total discount | +| tax `required` | Total tax billed | +| is intra-community `required` | If applicable, note like “intra-Community supply of goods” | +| is triangulation `required` | For EU triangulation: note scheme and buyer liable | +| currency `required` | Currency used for billing | +| internal code | Article or service code | + +| Project|| +|-|-| +| id `auto` | reference id `P/[id]` | +| description `required` | Description of project | +| date `required` | Project started at date | +| status `required` | Status of project `running` `paused` `cancelled` | +| cancelled at | Project cancelled at date |
\ No newline at end of file |
