diff options
Diffstat (limited to 'src/administration_reader.cpp')
| -rw-r--r-- | src/administration_reader.cpp | 11 |
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); |
