summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/administration.hpp15
-rw-r--r--include/ui.hpp1
2 files changed, 10 insertions, 6 deletions
diff --git a/include/administration.hpp b/include/administration.hpp
index a0dd803..dffce89 100644
--- a/include/administration.hpp
+++ b/include/administration.hpp
@@ -91,7 +91,7 @@ typedef struct
typedef struct
{
char id[16];
- char sequential_number[16];
+ char sequential_number[16]; // INV0000000000 - INV9999999999
char customer_id[16];
char supplier_id[16];
time_t issued_at;
@@ -106,7 +106,7 @@ typedef struct
s32 net;
invoice_status status;
address shipping_address;
- char currency[16];
+ char currency[8];
time_t keep_untill;
time_t payment_on_account_date;
char tax_representative[64];
@@ -116,10 +116,10 @@ typedef struct
typedef struct
{
contact company_info;
- s32 next_id;
+ s32 next_id; // Shared across all objects that have an ID.
+ s32 next_sequence_number; // Sequence number for generating invoice numbers.
char path[4096];
char program_version[10];
- char country_code[3];
list_t contacts;
list_t projects;
list_t invoices;
@@ -131,7 +131,6 @@ void administration_create();
void administration_destroy();
char* administration_get_file_path();
-s32 administration_create_id();
contact administration_get_company_info();
void administration_set_company_info(contact data);
@@ -142,6 +141,7 @@ bool administration_create_contact(contact data);
bool administration_update_contact(contact data);
u32 administration_get_contact_count();
u32 administration_get_contacts(u32 page_index, u32 page_size, contact* buffer);
+contact administration_create_empty_contact();
void administration_cancel_project(project data);
bool administration_remove_project(project data);
@@ -150,6 +150,7 @@ bool administration_update_project(project data);
char* administration_project_get_status_string(project data);
u32 administration_get_project_count();
u32 administration_get_projects(u32 page_index, u32 page_size, project* buffer);
+project administration_create_empty_project();
u32 administration_get_tax_bracket_count();
u32 administration_get_tax_brackets(country_tax_bracket* buffer);
@@ -161,4 +162,6 @@ u32 administration_get_cost_centers(cost_center* buffer);
bool administration_verify_cost_center_code(char* code);
bool administration_verify_cost_center_description(char* text);
bool administration_add_cost_center(cost_center data);
-bool administration_update_cost_center(cost_center data); \ No newline at end of file
+bool administration_update_cost_center(cost_center data);
+
+invoice administration_create_empty_invoice(); \ No newline at end of file
diff --git a/include/ui.hpp b/include/ui.hpp
index 85a5c2f..00a3465 100644
--- a/include/ui.hpp
+++ b/include/ui.hpp
@@ -18,6 +18,7 @@ void ui_draw_projects();
void ui_draw_invoices();
void ui_draw_settings();
+void ui_setup_invoices();
void ui_setup_contacts();
void ui_setup_projects();
void ui_setup_settings(); \ No newline at end of file