/* * Copyright (c) 2025 Aldrik Ramaekers * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * 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. * * Tax rates can be enabled for the following tax reporting methods: * - OSS for sale of products and sale of services. * - Distance sales within the EU without using the OBU (OSS) scheme (section 3c). * - Tax reporting with the tax authority of the relevant country. */ #include #include "countries.hpp" #include "strops.hpp" time_t _nl_get_default_invoice_expire_duration() { return (15 * 24 * 60 * 60); // 15 days } void _nl_fill_tax_report_with_categories(tax_report* report) { report->lines[report->line_count++] = tax_line {"taxes.nl.1", "", 0.0f, 0.0f, false, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.1a", "NL/1a", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.1b", "NL/1b", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.1c", "NL/1c", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.1d", "NL/1d", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.1e", "NL/1e", 0.0f, 0.0f, true, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.2", "", 0.0f, 0.0f, false, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.2a", "NL/2a", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.3", "", 0.0f, 0.0f, false, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.3a", "NL/3a", 0.0f, 0.0f, true, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.3b", "NL/3b", 0.0f, 0.0f, true, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.3c", "NL/3c", 0.0f, 0.0f, true, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.4", "", 0.0f, 0.0f, false, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.4a", "NL/4a", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.4b", "NL/4b", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.5", "", 0.0f, 0.0f, false, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.5a", "NL/5a", 0.0f, 0.0f, false, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.5b", "NL/5b", 0.0f, 0.0f, false, true}; report->lines[report->line_count++] = tax_line {"taxes.total", "NL/5c", 0.0f, 0.0f, false, true}; } bool _nl_add_billing_item_to_tax_report(tax_report* report, invoice* inv, billing_item* item) { // https://goedestartbelastingdienst.nl/wiki/view/7494ecb4-f6d2-4f85-a200-5a3ee5d45b75/btw-aangifte-het-invullen-van-de-verschillende-rubrieken tax_rate rate; a_err err = administration::tax_rate_get_by_internal_code(&rate, item->tax_internal_code); if (err != A_ERR_SUCCESS) return 0; tax_subtotal totals = administration::billing_item_convert_to_default_currency(inv, *item); if (inv->is_outgoing) { tax_line* a5 = administration::get_tax_line_from_report(report, "NL/5a"); // Total owed. for (u32 i = 0; i < rate.tax_section_count; i++) { tax_line* line_rate = administration::get_tax_line_from_report(report, rate.tax_sections[i]); line_rate->total_net += totals.net; line_rate->total_tax += totals.tax; } if (rate.tax_section_count != 0) { a5->total_tax += totals.tax; } } else { tax_line* a5 = administration::get_tax_line_from_report(report, "NL/5a"); // Total owed. bool is_reverse_charge = 0; for (u32 i = 0; i < rate.tax_section_count; i++) { if (strops::equals(rate.tax_sections[i], "NL/2a") || strops::equals(rate.tax_sections[i], "NL/4a") || strops::equals(rate.tax_sections[i], "NL/4b")) { is_reverse_charge = 1; } } for (u32 i = 0; i < rate.tax_section_count; i++) { tax_line* line_rate = administration::get_tax_line_from_report(report, rate.tax_sections[i]); if (is_reverse_charge) { line_rate->total_net += totals.net; line_rate->total_tax += totals.net / 100.0f * rate.rate; } else { line_rate->total_net += totals.net; line_rate->total_tax += totals.tax; } } if (is_reverse_charge) a5->total_tax += totals.tax; } return 1; } float _nl_calculate_tax_report_final(tax_report* report) { tax_line* a5 = administration::get_tax_line_from_report(report, "NL/5a"); // Total owed. tax_line* b5 = administration::get_tax_line_from_report(report, "NL/5b"); // Input tax. tax_line* total = administration::get_tax_line_from_report(report, "NL/5c"); total->total_tax = a5->total_tax - b5->total_tax; if (total->total_tax < 0.0f) total->total_tax = (float)ceil(total->total_tax); else total->total_tax = (float)floor(total->total_tax); return total->total_tax; } time_t _nl_get_invoice_date_to_use_for_tax_report(invoice* inv) { if (!inv->is_outgoing) { // Intra-Community services need to be reported in the quarter the service was delivered. if (administration::invoice_has_intra_community_services(inv)) { return inv->delivered_at; } } return inv->issued_at; } static tax_rate _create_tax_rate(tax_rate_type type, char* internal_code, char* category_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)); strops::copy(result.category_code, category_code, sizeof(result.category_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; } 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)); strops::copy(result.category_code, "S", sizeof(result.category_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", "S", 21.00, "NL/1a", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/9", "AA", 9.00, "NL/1b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/0", "Z", 0.00, "NL/1e", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BTV", "E", 0.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BVB", "AE", 0.00, "NL/1e", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PBEU", "G", 0.00, "NL/3a", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PIEU", "G", 0.00, "NL/3b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DIEU", "G", 0.00, "NL/3b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/NBTW", "O", 0.00, "", 0)); // Unieregeling diensten ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/18/D", "S", 18.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/7/D", "AA", 7.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/21/D", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/6/D", "AA", 6.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/12/D", "AA", 12.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/20/D", "S", 20.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/9/D", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/19/D", "S", 19.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/9/D", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DK/25/D", "S", 25.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/19/D", "S", 19.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/7/D", "AA", 7.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/24/D", "S", 24.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/9/D", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/25.5/D", "S", 25.50, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/10/D", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/14/D", "AA", 14.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/20/D", "S", 20.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/5.5/D", "AA", 5.50, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/10/D", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/2.1/D", "AA", (float)2.10, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/24/D", "S", 24.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/6/D", "AA", 6.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/13/D", "AA", 13.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/27/D", "S", 27.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/18/D", "AA", 18.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/23/D", "S", 23.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/9/D", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/13.5/D", "AA", 13.50, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/4.8/D", "AA", (float)4.80, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/22/D", "S", 22.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/10/D", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/4/D", "AA", 4.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/25/D", "S", 25.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/13/D", "AA", 13.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/21/D", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/12/D", "AA", 12.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/21/D", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/9/D", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/17/D", "S", 17.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/8/D", "AA", 8.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/3/D", "AA", 3.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/14/D", "AA", 14.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/20/D", "S", 20.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/20/D", "S", 20.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/10/D", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/13/D", "AA", 13.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/23/D", "S", 23.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/8/D", "AA", 8.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/23/D", "S", 23.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/6/D", "AA", 6.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/13/D", "AA", 13.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/21/D", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/11/D", "AA", 11.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/22/D", "S", 22.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/5/D", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/9.5/D", "AA", 9.50, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/23/D", "S", 23.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/19/D", "AA", 19.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/21/D", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/10/D", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/4/D", "AA", 4.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/21/D", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/12/D", "AA", 12.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/25/D", "S", 25.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/6/D", "AA", 6.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/12/D", "AA", 12.00, "OSS", 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", "S", 21.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/6/3C", "AA", 6.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/12/3C", "AA", 12.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/20/3C", "S", 20.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/9/3C", "AA", 9.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/19/3C", "S", 19.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/9/3C", "AA", 9.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DK/25/3C", "S", 25.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/19/3C", "S", 19.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/7/3C", "AA", 7.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/24/3C", "S", 24.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/9/3C", "AA", 9.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/25.5/3C", "S", 25.50, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/10/3C", "AA", 10.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/14/3C", "AA", 14.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/20/3C", "S", 20.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/5.5/3C", "AA", 5.50, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/10/3C", "AA", 10.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/2.1/3C", "AA", (float)2.10, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/24/3C", "S", 24.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/6/3C", "AA", 6.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/13/3C", "AA", 13.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/27/3C", "S", 27.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/18/3C", "AA", 18.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/23/3C", "S", 23.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/9/3C", "AA", 9.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/13.5/3C", "AA", 13.50, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/4.8/3C", "AA", (float)4.80, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/22/3C", "S", 22.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/10/3C", "AA", 10.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/4/3C", "AA", 4.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/25/3C", "S", 25.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/13/3C", "AA", 13.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/21/3C", "S", 21.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/12/3C", "AA", 12.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/21/3C", "S", 21.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/9/3C", "AA", 9.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/17/3C", "S", 17.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/8/3C", "AA", 8.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/3/3C", "AA", 3.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/14/3C", "AA", 14.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/18/3C", "S", 18.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/7/3C", "AA", 7.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/20/3C", "S", 20.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/20/3C", "S", 20.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/10/3C", "AA", 10.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/13/3C", "AA", 13.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/23/3C", "S", 23.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/8/3C", "AA", 8.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/23/3C", "S", 23.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/6/3C", "AA", 6.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/13/3C", "AA", 13.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/21/3C", "S", 21.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/11/3C", "AA", 11.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/22/3C", "S", 22.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/5/3C", "AA", 5.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/9.5/3C", "AA", 9.50, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/23/3C", "S", 23.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/19/3C", "AA", 19.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/21/3C", "S", 21.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/10/3C", "AA", 10.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/4/3C", "AA", 4.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/21/3C", "S", 21.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/12/3C", "AA", 12.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/25/3C", "S", 25.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/6/3C", "AA", 6.00, "NL/3c", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/12/3C", "AA", 12.00, "NL/3c", 0)); // Unieregeling Producten ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/21/P", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/6/P", "AA", 6.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/12/P", "AA", 12.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/20/P", "S", 20.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/9/P", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/19/P", "S", 19.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/9/P", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DK/25/P", "S", 25.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/19/P", "S", 19.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/7/P", "AA", 7.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/24/P", "S", 24.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/9/P", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/25.5/P", "S", 25.50, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/10/P", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/14/P", "AA", 14.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/20/P", "S", 20.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/5.5/P", "AA", 5.50, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/10/P", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/2.1/P", "AA", (float)2.10, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/24/P", "S", 24.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/6/P", "AA", 6.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/13/P", "AA", 13.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/27/P", "S", 27.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/18/P", "AA", 18.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/23/P", "S", 23.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/9/P", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/13.5/P", "AA", 13.50, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/4.8/P", "AA", (float)4.80, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/22/P", "S", 22.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/10/P", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/4/P", "AA", 4.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/25/P", "S", 25.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/13/P", "AA", 13.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/21/P", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/12/P", "AA", 12.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/21/P", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/9/P", "AA", 9.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/17/P", "S", 17.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/8/P", "AA", 8.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/3/P", "AA", 3.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/14/P", "AA", 14.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/18/P", "S", 18.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/7/P", "AA", 7.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/20/P", "S", 20.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/20/P", "S", 20.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/10/P", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/13/P", "AA", 13.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/23/P", "S", 23.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/8/P", "AA", 8.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/23/P", "S", 23.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/6/P", "AA", 6.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/13/P", "AA", 13.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/21/P", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/11/P", "AA", 11.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/22/P", "S", 22.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/5/P", "AA", 5.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/9.5/P", "AA", 9.50, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/23/P", "S", 23.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/19/P", "AA", 19.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/21/P", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/10/P", "AA", 10.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/4/P", "AA", 4.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/21/P", "S", 21.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/12/P", "AA", 12.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/25/P", "S", 25.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/6/P", "AA", 6.00, "OSS", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/12/P", "AA", 12.00, "OSS", 0)); // Tax reported in foreign country. ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/21", "S", 21.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/6", "AA", 6.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BE/12", "S", 12.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/20", "AA", 20.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/BG/9", "AA", 9.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/19", "S", 19.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CY/9", "AA", 9.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DK/25", "S", 25.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/19", "AA", 19.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/DE/7", "AA", 7.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/24", "S", 24.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/EE/9", "AA", 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", "AA", 10.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FI/14", "AA", 14.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/20", "S", 20.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/5.5", "AA", 5.50, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/10", "AA", 10.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/FR/2.1", "AA", (float)2.10, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/24", "S", 24.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/6", "AA", 6.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GR/13", "AA", 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", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HU/18", "AA", 18.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/23", "S", 23.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/9", "AA", 9.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/13.5", "AA", 13.50, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IE/4.8", "AA", (float)4.80, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/22", "S", 22.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/10", "AA", 10.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/IT/4", "AA", 4.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/25", "S", 25.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/HR/13", "AA", 13.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/21", "S", 21.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LV/12", "AA", 12.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/21", "S", 21.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LT/9", "AA", 9.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/17", "S", 17.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/8", "AA", 8.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/3", "AA", 3.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/LU/14", "AA", 14.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/18", "S", 18.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/MT/7", "AA", 7.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/20", "S", 20.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/GB-NI/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/20", "S", 20.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/10", "AA", 10.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/AT/13", "AA", 13.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/23", "S", 23.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PL/8", "AA", 8.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/23", "S", 23.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/6", "AA", 6.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/PT/13", "AA", 13.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/21", "S", 21.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/RO/11", "AA", 11.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/22", "S", 22.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/5", "AA", 5.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SI/9.5", "AA", 9.50, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/23", "S", 23.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SK/19", "AA", 19.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/21", "S", 21.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/10", "AA", 10.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/ES/4", "AA", 4.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/21", "S", 21.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/CZ/12", "AA", 12.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/25", "S", 25.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/6", "AA", 6.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_OUTGOING_INVOICE, "NL/SE/12", "AA", 12.00, "", 0)); // Incomming ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/21/5B", "S", 21.00, "NL/5b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/9/5B", "AA", 9.00, "NL/5b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BTV/5B", "E", 0.00, "", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/NBTW/5B", "Z", 0.00, "NL/5b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BV/21", "S", 21.00, "NL/2a", "NL/5b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BV/9", "AA", 9.00, "NL/2a", "NL/5b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BEUV/21", "S", 21.00, "NL/4a", "NL/5b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/BEUV/9", "AA", 9.00, "NL/4a", "NL/5b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/IEUV/21", "S", 21.00, "NL/4b", "NL/5b", 0)); ADD(_create_tax_rate(tax_rate_type::TAX_RATE_INCOMMING_INVOICE, "NL_IN/IEUV/9", "AA", 9.00, "NL/4b", "NL/5b", 0)); return cc; } country_impl _nl_country_impl = { "NL", true, true, _nl_get_default_invoice_expire_duration, _nl_fill_tax_report_with_categories, _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, };