summaryrefslogtreecommitdiff
path: root/src/administration_reader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/administration_reader.cpp')
-rw-r--r--src/administration_reader.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/administration_reader.cpp b/src/administration_reader.cpp
index 976c533..6a79b57 100644
--- a/src/administration_reader.cpp
+++ b/src/administration_reader.cpp
@@ -212,7 +212,7 @@ bool administration_reader::read_invoice_from_xml(invoice* result, char* buffer,
billing_item bi = {0};
xml_get_str_x(child, bi.id, MAX_LEN_ID, "cbc:ID", 0);
- xml_get_str_x(child, bi.tax_rate_id, MAX_LEN_ID, "cac:Item", "cac:AdditionalItemProperty", "cbc:Value", 0);
+ xml_get_str_x(child, bi.tax_internal_code, MAX_LEN_ID, "cac:Item", "cac:AdditionalItemProperty", "cbc:Value", 0);
bi.amount = xml_get_float_x(child, "cbc:InvoicedQuantity", 0);
bi.net_per_item = xml_get_float_x(child, "cac:Price", "cbc:PriceAmount", 0);
bi.net = xml_get_float_x(child, "cbc:LineExtensionAmount", 0);
@@ -231,13 +231,8 @@ bool administration_reader::read_invoice_from_xml(invoice* result, char* buffer,
// Import service could set tax rate id to shorthandle.
tax_rate tax_rate;
- if (administration::tax_rate_get_by_id(&tax_rate, bi.tax_rate_id) == A_ERR_NOT_FOUND) {
- if (administration::tax_rate_get_by_shorthandle(&tax_rate, bi.tax_rate_id) == A_ERR_SUCCESS) {
- strops::copy(bi.tax_rate_id, tax_rate.id, MAX_LEN_ID);
- }
- else {
- strops::copy(bi.tax_rate_id, "", MAX_LEN_ID);
- }
+ if (administration::tax_rate_get_by_internal_code(&tax_rate, bi.tax_internal_code) == A_ERR_NOT_FOUND) {
+ strops::copy(bi.tax_internal_code, "", MAX_LEN_SHORT_DESC);
}
administration::billing_item_import_to_invoice(&data, bi);