/* * 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. */ #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", "1a", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.1b", "1b", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.1c", "1c", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.1d", "1d", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.1e", "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", "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", "3a", 0.0f, 0.0f, true, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.3b", "3b", 0.0f, 0.0f, true, false}; report->lines[report->line_count++] = tax_line {"taxes.nl.3c", "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", "4a", 0.0f, 0.0f, true, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.4b", "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", "5a", 0.0f, 0.0f, false, true}; report->lines[report->line_count++] = tax_line {"taxes.nl.5b", "5b", 0.0f, 0.0f, false, true}; report->lines[report->line_count++] = tax_line {"taxes.total", "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, "5a"); // Total owed. if (strops::equals(inv->customer.address.country_code, "NL")) { if (rate.rate == 21.0f) { tax_line* tl = administration::get_tax_line_from_report(report, "1a"); tl->total_net += totals.net; tl->total_tax += totals.tax; a5->total_tax += totals.tax; } else if (rate.rate == 9.0f) { tax_line* tl = administration::get_tax_line_from_report(report, "1b"); tl->total_net += totals.net; tl->total_tax += totals.tax; a5->total_tax += totals.tax; } else if (rate.rate > 0.0f) { tax_line* tl = administration::get_tax_line_from_report(report, "1c"); tl->total_net += totals.net; tl->total_tax += totals.tax; a5->total_tax += totals.tax; } // NOTE: category '1d' for private usage is not supported. else if (rate.rate == 0.0f) { tax_line* tl = administration::get_tax_line_from_report(report, "1e"); tl->total_net += totals.net; tl->total_tax += totals.tax; a5->total_tax += totals.tax; } } else if (!country::is_EU(inv->customer.address.country_code)) { tax_line* tl = administration::get_tax_line_from_report(report, "3a"); tl->total_net += totals.net; // 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 is for sales to individuals } else { tax_line* a5 = administration::get_tax_line_from_report(report, "5a"); // Total owed. tax_line* b5 = administration::get_tax_line_from_report(report, "5b"); // Input tax. if (strops::equals(inv->supplier.address.country_code, "NL")) { // if (strops::equals(rate., "AE")) { // NL reverse charge. // tax_line* tl = administration::get_tax_line_from_report(report, "2a"); // tl->total_net += totals.net; // tl->total_tax += totals.net * 0.21f; // TODO fr? // a5->total_tax += totals.net * 0.21f; // b5->total_tax += totals.net * 0.21f; // } // else { // b5->total_tax += totals.tax; // } } else if (!country::is_EU(inv->supplier.address.country_code)) { tax_line* tl = administration::get_tax_line_from_report(report, "4a"); tl->total_net += totals.net; tl->total_tax += totals.net * 0.21f; a5->total_tax += totals.net * 0.21f; b5->total_tax += totals.net * 0.21f; } else { tax_line* tl = administration::get_tax_line_from_report(report, "4b"); tl->total_net += totals.net; tl->total_tax += totals.net * 0.21f; a5->total_tax += totals.net * 0.21f; b5->total_tax += totals.net * 0.21f; } } return 1; } float _nl_calculate_tax_report_final(tax_report* report) { tax_line* a5 = administration::get_tax_line_from_report(report, "5a"); // Total owed. tax_line* b5 = administration::get_tax_line_from_report(report, "5b"); // Input tax. tax_line* total = administration::get_tax_line_from_report(report, "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, 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, _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, };