summaryrefslogtreecommitdiff
path: root/NOTES.md
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-08-03 19:22:36 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-08-03 19:22:36 +0200
commit853bbb3752a5fa2f58ef456ffb6e3a552e13cb11 (patch)
treece49a533f82a42a65fa6a4771a7b8fbfe33798cf /NOTES.md
initial commit
Diffstat (limited to 'NOTES.md')
-rw-r--r--NOTES.md113
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