aboutsummaryrefslogtreecommitdiff
path: root/src/cmd_payroll.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd_payroll.c')
-rw-r--r--src/cmd_payroll.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cmd_payroll.c b/src/cmd_payroll.c
index b5db4f1..6dea293 100644
--- a/src/cmd_payroll.c
+++ b/src/cmd_payroll.c
@@ -491,6 +491,9 @@ static yyjson_mut_val *h_payroll_run_post(struct req *r)
char description[64];
snprintf(description, sizeof description, "Lönekörning %s", period);
+ char series[16];
+ db_setting_copy(r->db, r->org_id, "series_payroll", "L", series,
+ sizeof series);
struct ledger_post_opts o;
memset(&o, 0, sizeof o);
o.org_id = r->org_id;
@@ -501,6 +504,7 @@ static yyjson_mut_val *h_payroll_run_post(struct req *r)
o.rows = vrows;
o.nrows = vn;
o.source = "payroll";
+ o.series = series;
o.dry_run = r->dry_run;
o.already_in_tx = 1;
struct ledger_error e;
@@ -758,6 +762,7 @@ struct payslip_ctx {
char employer_org_nr[64];
char employer_phone[64];
char employer_email[256];
+ char header_color[8];
char filename[320];
int64_t voucher_id;
int64_t employee_id;
@@ -920,6 +925,8 @@ static int payslip_prepare(struct req *r, struct payslip_ctx *c)
struct payroll_cfg cfg;
payroll_cfg_load(r, &cfg);
snprintf(c->run_ref, sizeof c->run_ref, "Lönekörning %s", c->period);
+ db_setting_copy(r->db, r->org_id, "document_header_color", "",
+ c->header_color, sizeof c->header_color);
char safe_name[200];
snprintf(safe_name, sizeof safe_name, "%s", c->employee_name);
@@ -938,6 +945,7 @@ static int payslip_prepare(struct req *r, struct payslip_ctx *c)
c->d.employer.email = c->employer_email;
c->d.employee_name = c->employee_name;
c->d.personal_no_masked = c->personal_no;
+ c->d.header_color = c->header_color;
c->d.period = c->period;
c->d.pay_date = c->pay_date;
c->d.run_ref = c->run_ref;
@@ -1341,6 +1349,9 @@ static yyjson_mut_val *h_payroll_pay_tax(struct req *r)
if (db_exec(r->db, "BEGIN IMMEDIATE", NULL) != 0)
return fail(r, "DB_BUSY", "could not start transaction");
in_tx = 1;
+ char series[16];
+ db_setting_copy(r->db, r->org_id, "series_payroll", "L", series,
+ sizeof series);
struct ledger_post_opts o;
memset(&o, 0, sizeof o);
o.org_id = r->org_id;
@@ -1351,6 +1362,7 @@ static yyjson_mut_val *h_payroll_pay_tax(struct req *r)
o.rows = rows;
o.nrows = vn;
o.source = "payroll_tax";
+ o.series = series;
o.dry_run = r->dry_run;
o.already_in_tx = 1;
if (ledger_post(r->db, &o, &e, &voucher_json) != 0) {