diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-18 23:10:20 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-18 23:10:20 +0200 |
| commit | 18bfbc423d188683973a0a3d6c31c9225158e262 (patch) | |
| tree | e88ab359e6455d44dc7687769ae1281133485acc /src/countries | |
| parent | e5e059538bbbf1993df854bd95e9bbf4bb1d7aaa (diff) | |
tax rate refactor
Diffstat (limited to 'src/countries')
| -rw-r--r-- | src/countries/nl.cpp | 382 |
1 files changed, 381 insertions, 1 deletions
diff --git a/src/countries/nl.cpp b/src/countries/nl.cpp index 62f947f..4d507f4 100644 --- a/src/countries/nl.cpp +++ b/src/countries/nl.cpp @@ -14,6 +14,14 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +/** + * \page page_the_netherlands The Netherlands + * + * ## Tax reporting + * Tax reports can be generated for invoices that have been issued after 1 January 2020. + * Private usage (tax section 1d) is not managed by OpenBooks and needs to be handled by the user. + */ + #include <math.h> #include "countries.hpp" @@ -104,11 +112,13 @@ bool _nl_add_billing_item_to_tax_report(tax_report* report, invoice* inv, billin // Tax is paid to country of customer. } else { + // TODO: 3b is for companies (intra community) + tax_line* tl = administration::get_tax_line_from_report(report, "3b"); tl->total_net += totals.net; // Tax is paid to country of customer. } - // TODO 3c + // TODO 3c is for sales to individuals } else { @@ -173,6 +183,375 @@ time_t _nl_get_invoice_date_to_use_for_tax_report(invoice* inv) return inv->issued_at; } +static tax_rate _create_tax_rate(tax_rate_type type, char* internal_code, float rate, ...) +{ + tax_rate result; + result.type = type; + result.tax_section_count = 0; + result.rate = rate; + strops::copy(result.internal_code, internal_code, sizeof(result.internal_code)); + + va_list args; + va_start(args, rate); + + char* tax_category = 0; + do + { + tax_category = va_arg(args, char*); + if (tax_category) strops::copy(result.tax_sections[result.tax_section_count++], tax_category, MAX_LEN_SHORT_DESC); + else break; + } while (1); + + va_end(args); + + return result; +} + +u32 _nl_get_available_tax_rates(tax_rate* buffer, u32 buffer_size) +{ + assert(buffer); + u32 cc = 0; + + #define ADD(_line) if (cc < buffer_size) buffer[cc++] = _line; else assert(0); + + // Outgoing + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/21", 21.00, "NL/1a", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/9", 9.00, "NL/1b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/0", 0.00, "NL/1e", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BTV", 0.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BVB", 0.00, "NL/1e", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PBEU", 0.00, "NL/3a", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PIEU", 0.00, "NL/3b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DIEU", 0.00, "NL/3b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/NBTW", 0.00, "", 0)); + + // Unieregeling diensten + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/18/D", 18.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/7/D", 7.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/21/D", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/6/D", 6.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/12/D", 12.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/20/D", 20.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/9/D", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/19/D", 19.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/9/D", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DK/25/D", 25.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/19/D", 19.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/7/D", 7.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/24/D", 24.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/9/D", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/25.5/D", 25.50, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/10/D", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/14/D", 14.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/20/D", 20.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/5.5/D", 5.50, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/10/D", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/2.1/D", (float)2.10, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/24/D", 24.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/6/D", 6.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/13/D", 13.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/27/D", 27.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/18/D", 18.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/23/D", 23.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/9/D", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/13.5/D", 13.50, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/4.8/D", (float)4.80, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/22/D", 22.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/10/D", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/4/D", 4.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/25/D", 25.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/13/D", 13.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/21/D", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/12/D", 12.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/21/D", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/9/D", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/17/D", 17.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/8/D", 8.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/3/D", 3.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/14/D", 14.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/20/D", 20.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/20/D", 20.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/10/D", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/13/D", 13.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/23/D", 23.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/8/D", 8.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/23/D", 23.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/6/D", 6.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/13/D", 13.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/21/D", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/11/D", 11.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/22/D", 22.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/5/D", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/9.5/D", 9.50, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/23/D", 23.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/19/D", 19.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/21/D", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/10/D", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/4/D", 4.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/21/D", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/12/D", 12.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/25/D", 25.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/6/D", 6.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/12/D", 12.00, "OBU", 0)); + + // Tax reported to foreign country AND the netherlands using NL/3c. + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/21/3C", 21.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/6/3C", 6.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/12/3C", 12.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/20/3C", 20.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/9/3C", 9.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/19/3C", 19.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/9/3C", 9.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DK/25/3C", 25.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/19/3C", 19.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/7/3C", 7.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/24/3C", 24.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/9/3C", 9.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/25.5/3C", 25.50, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/10/3C", 10.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/14/3C", 14.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/20/3C", 20.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/5.5/3C", 5.50, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/10/3C", 10.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/2.1/3C", (float)2.10, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/24/3C", 24.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/6/3C", 6.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/13/3C", 13.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/27/3C", 27.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/18/3C", 18.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/23/3C", 23.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/9/3C", 9.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/13.5/3C", 13.50, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/4.8/3C", (float)4.80, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/22/3C", 22.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/10/3C", 10.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/4/3C", 4.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/25/3C", 25.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/13/3C", 13.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/21/3C", 21.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/12/3C", 12.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/21/3C", 21.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/9/3C", 9.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/17/3C", 17.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/8/3C", 8.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/3/3C", 3.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/14/3C", 14.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/18/3C", 18.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/7/3C", 7.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/20/3C", 20.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/20/3C", 20.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/10/3C", 10.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/13/3C", 13.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/23/3C", 23.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/8/3C", 8.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/23/3C", 23.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/6/3C", 6.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/13/3C", 13.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/21/3C", 21.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/11/3C", 11.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/22/3C", 22.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/5/3C", 5.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/9.5/3C", 9.50, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/23/3C", 23.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/19/3C", 19.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/21/3C", 21.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/10/3C", 10.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/4/3C", 4.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/21/3C", 21.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/12/3C", 12.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/25/3C", 25.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/6/3C", 6.00, "NL/3c", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/12/3C", 12.00, "NL/3c", 0)); + + // Unieregeling Producten + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/21/P", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/6/P", 6.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/12/P", 12.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/20/P", 20.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/9/P", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/19/P", 19.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/9/P", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DK/25/P", 25.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/19/P", 19.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/7/P", 7.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/24/P", 24.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/9/P", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/25.5/P", 25.50, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/10/P", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/14/P", 14.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/20/P", 20.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/5.5/P", 5.50, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/10/P", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/2.1/P", (float)2.10, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/24/P", 24.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/6/P", 6.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/13/P", 13.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/27/P", 27.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/18/P", 18.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/23/P", 23.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/9/P", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/13.5/P", 13.50, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/4.8/P", (float)4.80, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/22/P", 22.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/10/P", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/4/P", 4.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/25/P", 25.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/13/P", 13.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/21/P", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/12/P", 12.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/21/P", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/9/P", 9.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/17/P", 17.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/8/P", 8.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/3/P", 3.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/14/P", 14.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/18/P", 18.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/7/P", 7.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/20/P", 20.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/20/P", 20.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/10/P", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/13/P", 13.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/23/P", 23.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/8/P", 8.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/23/P", 23.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/6/P", 6.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/13/P", 13.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/21/P", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/11/P", 11.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/22/P", 22.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/5/P", 5.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/9.5/P", 9.50, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/23/P", 23.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/19/P", 19.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/21/P", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/10/P", 10.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/4/P", 4.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/21/P", 21.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/12/P", 12.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/25/P", 25.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/6/P", 6.00, "OBU", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/12/P", 12.00, "OBU", 0)); + + // Tax reported in foreign country. + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/21", 21.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/6", 6.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/12", 12.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/20", 20.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/9", 9.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/19", 19.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/9", 9.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DK/25", 25.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/19", 19.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/7", 7.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/24", 24.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/9", 9.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/25.5", 25.50, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/10", 10.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/14", 14.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/20", 20.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/5.5", 5.50, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/10", 10.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/2.1", (float)2.10, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/24", 24.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/6", 6.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/13", 13.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/27", 27.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/18", 18.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/23", 23.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/9", 9.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/13.5", 13.50, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/4.8", (float)4.80, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/22", 22.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/10", 10.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/4", 4.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/25", 25.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/13", 13.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/21", 21.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/12", 12.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/21", 21.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/9", 9.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/17", 17.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/8", 8.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/3", 3.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/14", 14.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/18", 18.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/7", 7.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/20", 20.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/20", 20.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/10", 10.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/13", 13.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/23", 23.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/8", 8.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/23", 23.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/6", 6.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/13", 13.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/21", 21.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/11", 11.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/22", 22.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/5", 5.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/9.5", 9.50, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/23", 23.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/19", 19.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/21", 21.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/10", 10.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/4", 4.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/21", 21.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/12", 12.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/25", 25.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/6", 6.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/12", 12.00, "", 0)); + + // Incomming + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/21/5B", 21.00, "NL/5b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/9/5B", 9.00, "NL/5b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BTV/5B", 0.00, "", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/NBTW/5B", 0.00, "NL/5b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BV/21", 21.00, "NL/2a", "NL/5b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BV/9", 9.00, "NL/2a", "NL/5b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BEUV/21", 21.00, "NL/4a", "NL/5b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BEUV/9", 9.00, "NL/4a", "NL/5b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/IEUV/21", 21.00, "NL/4b", "NL/5b", 0)); + ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/IEUV/9", 9.00, "NL/4b", "NL/5b", 0)); + + return cc; +} + country_impl _nl_country_impl = { "NL", true, @@ -181,4 +560,5 @@ country_impl _nl_country_impl = { _nl_add_billing_item_to_tax_report, _nl_calculate_tax_report_final, _nl_get_invoice_date_to_use_for_tax_report, + _nl_get_available_tax_rates, };
\ No newline at end of file |
