diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/administration.hpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/include/administration.hpp b/include/administration.hpp index fd55978..af449bb 100644 --- a/include/administration.hpp +++ b/include/administration.hpp @@ -62,6 +62,9 @@ typedef struct typedef enum { + INVOICE_CONCEPT, + INVOICE_SENT, + INVOICE_REMINDED, INVOICE_PAID, INVOICE_EXPIRED, INVOICE_CANCELLED, @@ -84,14 +87,11 @@ typedef struct float net; char currency[CURRENCY_LENGTH]; char tax_bracket_id[16]; + float tax; + float total; // todo char tax_section[16]; - float tax; - float total; - bool is_intra_community; - bool is_triangulation; - char internal_code[64]; } billing_item; typedef struct @@ -100,26 +100,27 @@ typedef struct char sequential_number[16]; // INV0000000000 - INV9999999999 char customer_id[16]; char supplier_id[16]; - address shipping_address; + contact addressee; time_t issued_at; time_t expires_at; time_t delivered_at; char document[255]; // path to copy of document for incomming invoice. char project_id[16]; char cost_center_id[16]; - list_t billing_items; float total; float tax; float net; - invoice_status status; char currency[CURRENCY_LENGTH]; - + bool is_triangulation; + + bool is_intra_community; // TODO + invoice_status status; // TODO time_t payment_on_account_date; // TODO char tax_representative[64]; // TODO char corrected_sequential_number[16]; // TODO - // Not stored. + // Used for forms, not stored on disk. Filled when retrieved. contact supplier; contact customer; } invoice; @@ -184,9 +185,12 @@ bool administration_update_cost_center(cost_center data); invoice administration_create_empty_invoice(); void administration_invoice_set_currency(invoice* invoice, char* currency); +bool administration_is_invoice_valid(invoice* invoice); +bool administration_add_invoice(invoice* invoice); billing_item administration_create_empty_billing_item(); u32 administration_get_all_billing_items_for_invoice(invoice* invoice, billing_item* buffer); u32 administration_get_billing_items_count(invoice* invoice); bool administration_add_billing_item_to_invoice(invoice* invoice, billing_item item); -bool administration_update_billing_item_of_invoice(invoice* invoice, billing_item item);
\ No newline at end of file +bool administration_update_billing_item_of_invoice(invoice* invoice, billing_item item); +bool administration_remove_billing_item_from_invoice(invoice* invoice, billing_item item);
\ No newline at end of file |
