diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-11 23:36:54 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-11 23:36:54 +0200 |
| commit | 955af14f6664574df1ff47e073e39f8d48d6355a (patch) | |
| tree | 71f5f91b5478feaa218cee0ada652115c7c120cc /docs | |
| parent | d83e5e8cd66f05ca7e6aa9fc645788313d89dfe7 (diff) | |
doxygen setup
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/CHANGES.rst | 45 | ||||
| -rw-r--r-- | docs/README.rst | 51 | ||||
| -rw-r--r-- | docs/STORAGE.rst | 132 |
3 files changed, 0 insertions, 228 deletions
diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst deleted file mode 100644 index 74e4f6a..0000000 --- a/docs/CHANGES.rst +++ /dev/null @@ -1,45 +0,0 @@ -.. _changes: - -TODO: -for invoice importing using AI: - 1. all address data should be editable because import is not perfect - 2. file path should not be editable as it is imported - -- create invoice PDF for NL https://goedestartbelastingdienst.nl/wiki/view/50bdccd8-f9a0-4297-b57f-3a6651cbe05c/factuureisen -- toggle on invoice form wether price in inclusive of tax. -- retrieve available balance from AI api & show in settings/services. -- let user choose the model to use in settings/services/ai -- real error logging for OpenAI and importing in general -- write tests for strops.hpp -- log_set_depth function so data can be grouped -- log elapsed time for ai requests -- refactor _add functions to use _import functions -- _import functions should not check for validity and should never fail because of invalid data -- invalid invoices should be marked in the UI -- write tests that check error handling for corrupt files. (e.g. references to tax rates, project and cost center that failed to load) -- it is possible a referenced tax rate is loaded after an invoice is loaded. This means all invoices need to be recalculated after file load. (try to write a test for this). -- invoice sequential number should be modifyable & checked for uniqueness (for external invoices being imported) -- allow cost centers to be deleted that have 0 references -- Send invoice by email -- create invoice from image of receipt -- create invoice from UBL file -- read invoice from Holodeck instance -- send invoice via Holodeck instance -- View invoice history for contacts -- View invoice history for projects -- validate data within administration on save to make sure it is valid for transmissions. (e.g. rules of https://docs.peppol.eu/poacc/billing/3.0/syntax/ubl-invoice/cac-AccountingSupplierParty/cac-Party/cbc-EndpointID/) -- View local business number / vat number naming on contact form. e.g. when country is austria: "Österreichische Umsatzsteuer-Identifikationsnummer" -- ICP reports - -v0.1 (master) - -- Create/read/update contacts -- Create/read/update projects -- Create/read/update invoices & expenses -- Create/read/update VAT rates -- Create/read/update cost centers -- Generate default VAT rates -- Generate default cost centers -- Reading & writing administration files -- Archive invoices in Peppol BIS 3.0 format -- Quarterly income statement reports
\ No newline at end of file diff --git a/docs/README.rst b/docs/README.rst deleted file mode 100644 index b6fddfd..0000000 --- a/docs/README.rst +++ /dev/null @@ -1,51 +0,0 @@ -.. _readme: - -=============================== -OpenBooks - Accounting software -=============================== - -Author: Aldrik Ramaekers <aldrik.ramaekers@gmail.com> - -The master is hosted on github: https://github.com/aldrik-ramaekers/open-books - -All documentation can be found inside the docs folder. - -1. Introduction ---------------- -OpenBooks is a simple and portable accounting tool. This tool aims to be EU VAT Directive compliant and has country specific compliance, invoice keeping and tax reporting. - -What OpenBooks **can** do: - -- OpenBooks handles administration of invoices, expenses, receipts, contacts, projects, VAT rates and cost centers. -- OpenBooks can export/email invoices in PDF, UBL and Peppol format. -- OpenBooks can send and receive invoices over the Peppol network (using a locally run `Holodeck <https://holodeck-b2b.org/>`_ instance). -- OpenBooks can create tax reports and audit files (see supported countries list). -- OpenBooks can create Intra-Community transactions declaration (ICP) reports. -- OpenBooks stores all incomming and outgoing invoices in Peppol BIS Billing 3.0 format for archiving. - -What OpenBooks **can't** do: - -- Intrastat reporting -- OSS reporting -- PoS Fiscalization -- Automatically submit tax, audit or ICP reports - -2. Supported countries ----------------------- -This section lists all supported countries. If the country you operate from is not listed below, some reporting requirements might not be handled by OpenBooks. - -- **The Netherlands**: Quarterly tax reports, Peppol BIS 3.0 Billing. - -3. Dependencies ---------------- -Changes/patches have been made to most of these libraries. - -- ImGui 1.92.1 (https://github.com/ocornut/imgui) -- simclist 1.5 (https://mij.oltrelinux.com/devel/simclist/) -- ImGuiDatePicker (https://github.com/DnA-IntRicate/ImGuiDatePicker) -- tinyfiledialogs (https://sourceforge.net/projects/tinyfiledialogs/) -- xml.c (https://github.com/ooxi/xml.c) -- zip (https://github.com/kuba--/zip) -- timer_lib (https://github.com/mjansson/timer_lib) -- greatest (https://github.com/silentbicycle/greatest) -- cpp-httplib (https://github.com/yhirose/cpp-httplib)
\ No newline at end of file diff --git a/docs/STORAGE.rst b/docs/STORAGE.rst deleted file mode 100644 index 5c04ad5..0000000 --- a/docs/STORAGE.rst +++ /dev/null @@ -1,132 +0,0 @@ -.. _storage: - -================================ -OpenBooks - file and data format -================================ - -Your administration is stored in a single **.openbooks** file. -This is a zip file with the following format: - -:: - - administration.openbooks/ - ├── administration.xml - ├── invoices/ - │ ├── invoice_0000000001.xml - │ ├── invoice_0000000002.xml - ├── documents/ - │ ├── invoice_1.pdf - │ ├── invoice_2.pdf - │ ├── receipt_3.png - -**administration.xml** contains all company settings and data. This includes company info, projects, contacts, vat rates and cost centers. - -**invoices/** Contains all incomming and outgoing invoices, stored in Peppol BIS 3.0 format. - -**documents/** Contains all documents from which invoices have been generated. - -Data structures -=============== - -Administration --------------- - -- info — Contact information, stored as **Contact** -- 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 -- tax rates **list** — List of available tax rates -- 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 **required** — Country -- type **required** — Contact type, **business** or **consumer** -- 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 (`docs <https://accountancyeurope.eu/wp-content/uploads/2025/04/250423-VAT-and-the-Digital-Age-Factsheet-Accountancy-Europe.pdf>`_) -------------------------------------------------------------------------------------------------------------------------------------------- - -- id **auto** — reference id **I/[id]** -- sequential number **auto** — Generated sequential invoice number -- customer **required** — Customer contact information, stored as reference **C/[id]** -- supplier **required** — Supplier 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 — Project, stored as reference **P/[id]** -- cost center id — Cost center, stored as reference **E/[id]** (incoming 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**, **corrected** -- shipping address line 1 **required** — Address -- shipping address line 2 **required** — Zip, place -- country **required** — Country -- currency **required** — Currency used for billing -- keep until **required** — Date until 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) -- corrected sequential number — For corrective invoices, the sequential number that identifies the original invoice to be corrected - -Billing item ------------- - -- id **auto** — reference id **B/[id]** -- invoice **auto** — reference to invoice **I/[id]** -- description **required** — Description of billed item -- tax rate **required** — Tax rate (e.g. 0%, 21%, exempt, reversed) -- tax section **required** — Tax section (e.g. 1a up to 4b in The Netherlands) -- amount **required** — Amount of items, or a percentage -- amount is percentage **required** — Amount of items, or a percentage -- net per item **required** — Is amount a percentage -- net **required** — Total amount excl. tax -- discount **required** — Total discount -- tax **required** — Total tax billed -- total **required** — Total amount 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 -- start date **required** — Project started at date -- status **required** — Status of project **running** **paused** **cancelled** -- end date — Project cancelled at date - -Cost center ------------ - -- id **auto** — reference id **E/[id]** -- code **required** — Internal code of cost center -- description **required** — Description of cost center - -Tax rate ------------ - -- id **auto** — reference id **T/[id]** -- country code **required** — 2 letter country code -- description **required** — Description of tax rate -- rate **required** — Tax rate % |
