[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs:country-be":3},{"versions":4,"version":26,"nav":28,"path":79,"kind":106,"page":107},[5,10,13,16,18,20,22,24],{"name":6,"label":7,"prefix":8,"channel":9},"0.7","0.7 (latest)","","latest",{"name":11,"label":12,"prefix":11,"channel":11},"next","next (unreleased)",{"name":14,"label":14,"prefix":14,"channel":15},"0.6","old",{"name":17,"label":17,"prefix":17,"channel":15},"0.5",{"name":19,"label":19,"prefix":19,"channel":15},"0.4",{"name":21,"label":21,"prefix":21,"channel":15},"0.3",{"name":23,"label":23,"prefix":23,"channel":15},"0.2",{"name":25,"label":25,"prefix":25,"channel":15},"0.1",{"name":6,"label":7,"prefix":8,"channel":9,"base":27},"\u002Fdocs",[29,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,91,94,97,100,103],{"slug":30,"title":31,"preview":32},"index","Home",false,{"slug":34,"title":35,"preview":32},"getting-started","Getting started",{"slug":37,"title":38,"preview":32},"concepts","E-invoicing basics",{"slug":40,"title":41,"preview":32},"examples","Examples",{"slug":43,"title":44,"preview":32},"building-invoices","Building invoices",{"slug":46,"title":47,"preview":32},"formats","Formats and profiles",{"slug":49,"title":50,"preview":32},"validation","Validation",{"slug":52,"title":53,"preview":32},"templates","Templates and design",{"slug":55,"title":56,"preview":32},"documents","Quotes and other documents",{"slug":58,"title":59,"preview":32},"reading","Reading incoming invoices",{"slug":61,"title":62,"preview":32},"laravel","Laravel integration",{"slug":64,"title":65,"preview":32},"configuration","Configuration",{"slug":67,"title":68,"preview":32},"commands","Artisan commands",{"slug":70,"title":71,"preview":32},"testing","Testing",{"slug":73,"title":74,"preview":32},"country-packs","Country packs",{"slug":76,"title":77,"parent":74,"preview":32},"country-at","Austria",{"slug":79,"title":80,"parent":74,"preview":32},"country-be","Belgium",{"slug":82,"title":83,"parent":74,"preview":32},"country-ch","Switzerland",{"slug":85,"title":86,"parent":74,"preview":32},"country-fr","France",{"slug":88,"title":89,"preview":90},"managed","Managed layer (preview)",true,{"slug":92,"title":93,"preview":32},"troubleshooting","Troubleshooting",{"slug":95,"title":96,"preview":32},"faq","FAQ",{"slug":98,"title":99,"preview":32},"compatibility","Versioning and compatibility",{"slug":101,"title":102,"preview":32},"field-reference","Field reference",{"slug":104,"title":105,"preview":32},"ai","AI assistants","page",{"title":80,"description":108,"html":109,"headings":110,"editUrl":176,"markdownUrl":177,"prev":178,"next":179},"The Belgian pack implements the invoice mentions of the Belgian VAT Code (Wetboek van de belasting over de toegevoegde waarde \u002F Code de la TVA) and of Royal Decree No. 1 (Koninklijk besluit nr. 1, \"KB nr.","\u003Ch1 id=\"belgium-quittiocountry-be\">Belgium (\u003Ccode>quittio\u002Fcountry-be\u003C\u002Fcode>)\u003C\u002Fh1>\n\u003Cblockquote class=\"q-doc-note\">\n\u003Cp>\u003Cstrong>Not reviewed by a tax adviser yet.\u003C\u002Fstrong> The legal wording, rules and defaults of this pack follow the law and the official sources as of October 2026, but have not been reviewed by a Belgian tax adviser. Check the mentions and rates of your invoices before you rely on them. Quittio is no tax or legal advice; the business that issues an invoice remains responsible for it.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>The Belgian pack implements the invoice mentions of the Belgian VAT Code (Wetboek van de belasting over de toegevoegde waarde \u002F Code de la TVA) and of Royal Decree No. 1 (Koninklijk besluit nr. 1, &quot;KB nr. 1&quot; \u002F Arrêté royal n° 1, &quot;A.R. n° 1&quot;), the e-invoicing obligation of 2026 with Peppol BIS Billing 3.0, the use of languages in the language regions, and the law on late payment of 2 August 2002. Its class is \u003Ccode>Quittio\\Country\\BE\\CountryBE\u003C\u002Fcode> (code \u003Ccode>BE\u003C\u002Fcode>, translation namespace \u003Ccode>quittio-be\u003C\u002Fcode>). Its texts exist in Dutch, French, German and English.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Legal references.\u003C\u002Fstrong> This page writes Belgian legal references in English form: &quot;Art. 5 § 1, 10° Royal Decree No. 1&quot; is article 5, paragraph 1, point 10 of the decree. Values that the pack stores or prints keep their Dutch or French form, e.g. &quot;KB nr. 1, art. 20&quot;.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Business terms.\u003C\u002Fstrong> Codes such as BT-31 are the business terms of EN 16931, the European standard for e-invoices (\u003Ca href=\"\u002Fdocs\u002Fconcepts#en-16931-and-business-terms\">E-invoicing basics\u003C\u002Fa>).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"installation\">Installation\u003Ca class=\"q-doc-anchor\" href=\"#installation\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>bash\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FFA657\">composer\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> require\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> quittio\u002Fcountry-be\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cp>The pack is not part of \u003Ccode>quittio\u002Fquittio\u003C\u002Fcode>. Install it next to \u003Ccode>quittio\u002Fquittio\u003C\u002Fcode> (with Laravel) or next to \u003Ccode>quittio\u002Fcore\u003C\u002Fcode> (without Laravel). It is developed in \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FQuittio\u002Fquittio\u002Ftree\u002Fmaster\u002Fpackages\u002Fcountry-be\">\u003Ccode>packages\u002Fcountry-be\u003C\u002Fcode>\u003C\u002Fa> of the monorepo and published as the read-only repository \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FQuittio\u002Fcountry-be\">Quittio\u002Fcountry-be\u003C\u002Fa>; open issues and pull requests in the monorepo.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Laravel.\u003C\u002Fstrong> The pack declares itself in its \u003Ccode>composer.json\u003C\u002Fcode> under \u003Ccode>extra.quittio.country-packs\u003C\u002Fcode>, so Laravel finds it after the installation; there is nothing to register (\u003Ca href=\"\u002Fdocs\u002Fcountry-packs#laravel\">Registering packs: Laravel\u003C\u002Fa>). The pack has no service provider and no configuration file of its own. Its one setting goes into \u003Ccode>config\u002Fquittio.php\u003C\u002Fcode> (\u003Ca href=\"#settings\">Settings\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Without Laravel.\u003C\u002Fstrong> Pass the pack to \u003Ccode>Quittio::create()\u003C\u002Fcode>:\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Quittio\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Country\\BE\\CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$quittio \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">create\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">([\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'country'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> 'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">], [\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">]);\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cp>\u003Ccode>'country' =&gt; 'BE'\u003C\u002Fcode> makes Belgium the default country for invoices whose seller has no country code. With several packs, pass them all, e.g. \u003Ccode>[new CountryBE, new CountryDE]\u003C\u002Fcode>, or add one later with \u003Ccode>$quittio-&gt;registerCountry(new CountryBE)\u003C\u002Fcode> (\u003Ca href=\"\u002Fdocs\u002Fcountry-packs#without-laravel\">Registering packs: Without Laravel\u003C\u002Fa>).\u003C\u002Fp>\n\u003Ch2 id=\"when-it-applies\">When it applies\u003Ca class=\"q-doc-anchor\" href=\"#when-it-applies\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The pack leads every invoice whose seller is in Belgium (seller country code \u003Ccode>BE\u003C\u002Fcode>), or that is rendered with \u003Ccode>-&gt;country('BE')\u003C\u002Fcode>. It then checks the Belgian rules, chooses Peppol BIS for domestic business invoices, completes the Peppol endpoints and provides the defaults: the locale \u003Ccode>nl_BE\u003C\u002Fcode> (unless the invoice or the configuration sets one), A4 paper and the payment QR code.\u003C\u002Fp>\n\u003Cp>For an invoice from another country to a buyer in Belgium, the pack only registers its translations. It has no rules for the buyer side (\u003Ccode>buyerCountryRules()\u003C\u002Fcode>), and its format rule applies only when the seller is in Belgium as well. How Quittio picks the leading pack and the buyer pack is described in \u003Ca href=\"\u002Fdocs\u002Fcountry-packs#how-a-pack-is-selected\">How a pack is selected\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"common-tasks\">Common tasks\u003Ca class=\"q-doc-anchor\" href=\"#common-tasks\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>You want to\u003C\u002Fth>\n\u003Cth>Read\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Set the VAT rate or an exemption on a line\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#tax-presets\">Tax presets\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Invoice as a small business without VAT\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#small-businesses\">Small businesses\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Know which format Quittio picks for a Belgian customer\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#format-choice\">Format choice\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Send an invoice through Peppol\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#format-choice\">Format choice\u003C\u002Fa>, \u003Ca href=\"#peppol-endpoints\">Peppol endpoints\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Choose the language of the invoice\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#languages-and-language-regions\">Languages and language regions\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Look up a validation code such as \u003Ccode>BE-VAT-04\u003C\u002Fcode> or \u003Ccode>BE-LANG-01\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#rules\">Rules\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Print a QR code for the bank transfer\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#payment-qr-code\">Payment QR code\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Send a reminder with default interest\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#late-payment\">Late payment\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Cancel or correct an invoice\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#cancellations-and-corrections\">Cancellations and corrections\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Change the wording of a mention or rule message\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#translations\">Translations\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Copy a complete invoice\u003C\u002Ftd>\n\u003Ctd data-label=\"Read\">\u003Ca href=\"#complete-example\">Complete example\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch2 id=\"tax-presets\">Tax presets\u003Ca class=\"q-doc-anchor\" href=\"#tax-presets\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>A tax preset is a ready-made VAT treatment for an invoice line. It sets the VAT category (BT-151) and the rate, and for exempt supplies also the exemption reason code (BT-121) and text (BT-120). Use a preset instead of a bare category and rate: the line then carries the wording of the mention, and the Belgian rules recognise the case. How presets work in general is described in \u003Ca href=\"\u002Fdocs\u002Fbuilding-invoices#tax-presets\">Building invoices: Tax presets\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>The categories are the codes of EN 16931: \u003Ccode>S\u003C\u002Fcode> standard rate, \u003Ccode>Z\u003C\u002Fcode> zero rated, \u003Ccode>E\u003C\u002Fcode> exempt, \u003Ccode>AE\u003C\u002Fcode> reverse charge, \u003Ccode>K\u003C\u002Fcode> intra-community supply, \u003Ccode>G\u003C\u002Fcode> export outside the EU, \u003Ccode>O\u003C\u002Fcode> not subject to VAT (\u003Ca href=\"\u002Fdocs\u002Fbuilding-invoices#categories\">Categories\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>\u003Ccode>Quittio\\Country\\BE\\Tax\\VatPreset\u003C\u002Fcode> is a string-backed enum that implements \u003Ccode>TaxPreset\u003C\u002Fcode>. Apply it per line:\u003C\u002Fp>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Builder\\InvoiceBuilder\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Enums\\UnitCode\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Country\\BE\\Tax\\VatPreset\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$builder \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> InvoiceBuilder\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">make\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">()\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">deliveryDate\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-03-02'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#8B949E\">    \u002F\u002F ... number, seller, buyer, payment\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">line\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Consultancy'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">netPrice\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'120.00'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">quantity\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">8\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">unit\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">UnitCode\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Hour\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">vat\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">VatPreset\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Standard\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)    \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F 21 %\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">line\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Hotel night'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">netPrice\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'110.00'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">quantity\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">2\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">unit\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">UnitCode\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Day\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">vat\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">VatPreset\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Accommodation\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)  \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F 12 %: supplied on 2 March 2026\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">line\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Renovation works'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">netPrice\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'5000.00'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">vat\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">VatPreset\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">ReverseChargeDomestic\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)                    \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F \"Verlegging van heffing – KB nr. 1, art. 20\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#8B949E\">    \u002F\u002F an exemption without its own case: the legal reference as text\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">line\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Training'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">netPrice\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'300.00'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">vat\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">VatPreset\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">exempt\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'artikel 44, § 2, 4°, Wetboek btw'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">));\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Case\u003C\u002Fth>\n\u003Cth>Key\u003C\u002Fth>\n\u003Cth>Category\u003C\u002Fth>\n\u003Cth>Rate\u003C\u002Fth>\n\u003Cth>Code (BT-121)\u003C\u002Fth>\n\u003Cth>Use\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Standard\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.standard\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>S\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">21\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">–\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Standard rate\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Intermediate\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.intermediate\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>S\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">12\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">–\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Intermediate rate\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Reduced\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.reduced\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>S\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">6\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">–\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Reduced rate\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Accommodation\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.accommodation\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>S\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">12 from 1 March 2026, 6 before (by supply date)\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">–\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Accommodation in hotels and campsites\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>ZeroRated\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.zero_rated\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>Z\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">–\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Zero rate, e.g. for daily newspapers\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>SmallBusiness\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.small_business\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>E\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">–\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Small business exemption scheme (Art. 56bis VAT Code); see \u003Ca href=\"#small-businesses\">Small businesses\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>ReverseChargeDomestic\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.reverse_charge_domestic\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>AE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-AE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Domestic reverse charge, e.g. works on immovable property (Art. 20 Royal Decree No. 1)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>ReverseChargeEu\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.reverse_charge_eu\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>AE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-AE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Service to a business in another member state, which owes the VAT (Art. 196 of the VAT Directive 2006\u002F112\u002FEC)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>IntraCommunitySupply\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.intra_community_supply\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>K\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-IC\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Exempt intra-community supply (Art. 39bis VAT Code)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Export\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.export\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>G\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-G\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Exempt export (Art. 39 VAT Code)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>NotTaxableInBelgium\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.not_taxable\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>O\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">none\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-O\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Supply not taxable in Belgium (place of supply abroad)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>MarginSecondHand\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.margin_second_hand\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>E\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-F\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Margin scheme, second-hand goods (Art. 58 § 4 VAT Code)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>MarginArt\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.margin_art\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>E\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-I\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Margin scheme, works of art (Art. 58 § 4 VAT Code)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>MarginAntiques\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.margin_antiques\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>E\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-J\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Margin scheme, collectors' items and antiques (Art. 58 § 4 VAT Code)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>TravelAgency\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.travel_agency\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>E\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>VATEX-EU-D\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Margin scheme of travel agencies (Art. 58 § 3 VAT Code)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>VatPreset::exempt(string $paragraph, $code = null)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Key\">\u003Ccode>be.exempt\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Category\">\u003Ccode>E\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Rate\">0\u003C\u002Ftd>\n\u003Ctd data-label=\"Code (BT-121)\">\u003Ccode>$code\u003C\u002Fcode> (enum, raw code or string)\u003C\u002Ftd>\n\u003Ctd data-label=\"Use\">Any other exemption, e.g. \u003Ccode>artikel 44, § 2, 1° Wetboek btw\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>The codes in column BT-121 are VATEX codes, the standard codes for the reason of an exemption. The rates are those of Royal Decree No. 20 on the VAT rates; \u003Ccode>Quittio\\Country\\BE\\Tax\\TaxTables\u003C\u002Fcode> holds them (\u003Ccode>STANDARD_RATE\u003C\u002Fcode>, \u003Ccode>INTERMEDIATE_RATE\u003C\u002Fcode>, \u003Ccode>REDUCED_RATE\u003C\u002Fcode>, \u003Ccode>ACCOMMODATION_RATE\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Dated rate.\u003C\u002Fstrong> \u003Ccode>Accommodation\u003C\u002Fcode> is the only preset with a dated rate. A line takes the rate that applied on its supply date: 6 % up to 28 February 2026, 12 % from 1 March 2026 (\u003Ccode>TaxTables::accommodationRateOn($date)\u003C\u002Fcode>). The supply date is determined as for the German presets (\u003Ca href=\"\u002Fdocs\u002Fcountry-packs#tax-presets\">Germany: Tax presets\u003C\u002Fa>): the end of the line period, its start, the VAT point date, the delivery date, the end of the invoicing period or the issue date. \u003Ccode>VatPreset::Accommodation-&gt;rate()\u003C\u002Fcode> returns the rate of today (time zone Europe\u002FBrussels), \u003Ccode>VatPreset::Accommodation-&gt;on($date)\u003C\u002Fcode> the preset with the rate of a date. The other presets have one rate.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Texts.\u003C\u002Fstrong> \u003Ccode>Standard\u003C\u002Fcode>, \u003Ccode>Intermediate\u003C\u002Fcode>, \u003Ccode>Reduced\u003C\u002Fcode>, \u003Ccode>Accommodation\u003C\u002Fcode> and \u003Ccode>ZeroRated\u003C\u002Fcode> carry no text, because EN 16931 forbids an exemption reason for categories \u003Ccode>S\u003C\u002Fcode> and \u003Ccode>Z\u003C\u002Fcode> (BR-S-10, BR-Z-10). The other presets print an exemption reason (BT-120) from \u003Ccode>resources\u002Flang\u002F{nl,fr,de,en}\u002Ftax.php\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Key\u003C\u002Fth>\n\u003Cth>Dutch\u003C\u002Fth>\n\u003Cth>French\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.small_business\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Bijzondere vrijstellingsregeling kleine ondernemingen\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Régime particulier de franchise des petites entreprises\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.reverse_charge_domestic\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Verlegging van heffing – KB nr. 1, art. 20\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Autoliquidation – A.R. n° 1, art. 20\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.reverse_charge_eu\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Verlegging van heffing – artikel 196 Richtlijn 2006\u002F112\u002FEG\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Autoliquidation – article 196 de la directive 2006\u002F112\u002FCE\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.intra_community_supply\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Vrijgestelde intracommunautaire levering – artikel 39bis Wetboek btw\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Livraison intracommunautaire exemptée – article 39bis du Code de la TVA\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.export\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Vrijgestelde uitvoer – artikel 39 Wetboek btw\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Exportation exemptée – article 39 du Code de la TVA\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.not_taxable\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Niet in België belastbaar (plaats van de handeling in het buitenland)\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Non imposable en Belgique (lieu de l'opération à l'étranger)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.margin_second_hand\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Bijzondere regeling – gebruikte goederen\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Régime particulier – biens d'occasion\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.margin_art\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Bijzondere regeling – kunstvoorwerpen\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Régime particulier – objets d'art\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.margin_antiques\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Bijzondere regeling – voorwerpen voor verzamelingen of antiquiteiten\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Régime particulier – objets de collection et d'antiquité\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.travel_agency\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Bijzondere regeling – reisbureaus\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Régime particulier – agences de voyages\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>be.exempt\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Vrijgesteld van btw – :paragraph\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Exempté de la TVA – :paragraph\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>The German and English texts are in the same files (\u003Ca href=\"#translations\">Translations\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>How presets behave:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Language.\u003C\u002Fstrong> The text is taken in the invoice locale (\u003Ccode>-&gt;locale()\u003C\u002Fcode> on the builder) when the line is built. The enum presets use Dutch when the invoice has no locale; a regional locale such as \u003Ccode>fr_BE\u003C\u002Fcode> or \u003Ccode>nl_BE\u003C\u002Fcode> takes the text of its language. \u003Ccode>VatPreset::exempt()\u003C\u002Fcode> (a \u003Ccode>Quittio\\Country\\BE\\Tax\\CustomVatPreset\u003C\u002Fcode>) behaves the same: Dutch without a locale, the text of the language for a regional locale.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Preset key.\u003C\u002Fstrong> The key stays on the line (\u003Ccode>$line-&gt;vat-&gt;presetKey\u003C\u002Fcode>). The small business detection of \u003Ccode>BE-VAT-06\u003C\u002Fcode> and the \u003Ca href=\"#format-choice\">format choice\u003C\u002Fa> rely on it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>VAT breakdown.\u003C\u002Fstrong> Category, rate, code and text flow into the VAT breakdown (BG-23), and the PDF lists the texts in its legal notes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lookup by key\u003C\u002Fstrong>, e.g. from a database column: \u003Ccode>VatPreset::from('be.standard')\u003C\u002Fcode>, \u003Ccode>VatPreset::fromKey($key)\u003C\u002Fcode> (null for keys of other packs), \u003Ccode>(new CountryBE)-&gt;taxPresets()-&gt;get('be.standard')\u003C\u002Fcode> or, across all installed packs, \u003Ccode>$quittio-&gt;countries()-&gt;taxPreset('be.standard')\u003C\u002Fcode>. \u003Ccode>be.exempt\u003C\u002Fcode> is not part of the collection.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Default VAT.\u003C\u002Fstrong> Lines without \u003Ccode>vat:\u003C\u002Fcode> take the \u003Ca href=\"\u002Fdocs\u002Fbuilding-invoices#default-vat\">default VAT\u003C\u002Fa>. With \u003Ccode>CountryDefaultVat\u003C\u002Fcode> (installed by the Laravel integration) that is \u003Ccode>VatPreset::Standard\u003C\u002Fcode> for a Belgian seller, and \u003Ccode>VatPreset::SmallBusiness\u003C\u002Fcode> for a small business invoice.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"small-businesses\">Small businesses\u003Ca class=\"q-doc-anchor\" href=\"#small-businesses\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>A small business under the exemption scheme (Art. 56bis VAT Code) charges no VAT. Mark its invoices in one of two ways:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Use \u003Ccode>VatPreset::SmallBusiness\u003C\u002Fcode> on every line. Its text &quot;Bijzondere vrijstellingsregeling kleine ondernemingen&quot; \u002F &quot;Régime particulier de franchise des petites entreprises&quot; appears in the VAT breakdown and the PDF.\u003C\u002Fli>\n\u003Cli>Or flag the invoice with \u003Ccode>-&gt;flag(Meta::FLAG_SMALL_BUSINESS)\u003C\u002Fcode> (in Laravel \u003Ccode>quittio.seller.small_business = true\u003C\u002Fcode>). The flag does not set texts; lines without \u003Ccode>vat:\u003C\u002Fcode> then get \u003Ccode>VatPreset::SmallBusiness\u003C\u002Fcode> through the default VAT.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Either way, \u003Ccode>BE-VAT-06\u003C\u002Fcode> reports every VAT row with a VAT amount as an error. A small business invoice to a Belgian business is still sent through Peppol (\u003Ca href=\"#format-choice\">Format choice\u003C\u002Fa>).\u003C\u002Fp>\n\u003Ch2 id=\"rules\">Rules\u003Ca class=\"q-doc-anchor\" href=\"#rules\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The pack checks the mentions of Art. 5 of Royal Decree No. 1 and Art. 53 of the VAT Code, and the use of languages. These rules apply to every invoice of a Belgian seller, independent of the format. They run at validation level L3 (\u003Ca href=\"\u002Fdocs\u002Fvalidation#validation-levels\">Validation levels\u003C\u002Fa>); the class is \u003Ccode>Quittio\\Country\\BE\\Rules\\VatCodeRules\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Code\u003C\u002Fth>\n\u003Cth>Severity\u003C\u002Fth>\n\u003Cth>Check\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-VAT-01\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">error\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">The seller's VAT number (BT-31), or that of its tax representative, is stated (Art. 5 § 1, 3° Royal Decree No. 1).\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-VAT-02\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">error\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">The addresses of seller and buyer are complete: street (BT-35, BT-50), post code (BT-38, BT-53) and city (BT-37, BT-52) (Art. 5 § 1, 5° Royal Decree No. 1). One message per missing field.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-VAT-03\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">warning\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">An invoice to a business (not a consumer) with an address in Belgium states the buyer's VAT number (BT-48) (Art. 5 § 1, 4° Royal Decree No. 1). The mention is required if the buyer files VAT returns, which Quittio cannot know, hence a warning.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-VAT-04\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">error\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">Every VAT row of category \u003Ccode>AE\u003C\u002Fcode> (reverse charge) has a text (BT-120) that contains a reverse charge statement: &quot;verlegging&quot;, &quot;autoliquidation&quot;, &quot;Steuerschuld&quot;, &quot;reverse charge&quot; or the text of a reverse charge preset in any of the pack's languages (Art. 5 § 1, 10° Royal Decree No. 1).\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-VAT-05\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">error\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">Every VAT row of category \u003Ccode>E\u003C\u002Fcode>, \u003Ccode>K\u003C\u002Fcode> or \u003Ccode>G\u003C\u002Fcode> has the reference to the provision as text (BT-120); a VATEX code alone is not enough (Art. 5 § 1, 10° Royal Decree No. 1).\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-VAT-06\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">error\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">A small business invoice (flag \u003Ccode>Meta::FLAG_SMALL_BUSINESS\u003C\u002Fcode> or a line with \u003Ccode>VatPreset::SmallBusiness\u003C\u002Fcode>) has no VAT row with a VAT amount (Art. 56bis VAT Code).\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-VAT-07\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">error, warning in XML\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">A self-billed invoice (self-billed type code) has a note (BT-22) with &quot;self-billing&quot;, &quot;autofacturation&quot;, &quot;zelffacturering&quot;, &quot;Gutschrift&quot;, &quot;factuur uitgereikt door de afnemer&quot; or &quot;facture émise par le preneur&quot; (Art. 5 § 1, 12° Royal Decree No. 1). When the invoice is validated for an XML format, the type code labels it already, so the missing words are a warning; for a document without XML they are an error.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-VAT-08\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">warning\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">The invoice is issued by the 15th day of the month following the supply (Art. 53 § 2 VAT Code). The supply date is the latest of the delivery date (BT-72), the end of the invoicing period (BG-14) and the end of each line period; without any of them the rule does not check. Not checked for consumers, credit notes, corrected invoices and prepayment invoices. A late invoice stays valid, hence a warning.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>BE-LANG-01\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Severity\">warning\u003C\u002Ftd>\n\u003Ctd data-label=\"Check\">A business in the Dutch, French or German language region invoices customers in Belgium in the language of its region (language decrees of the Flemish and French Communities; for the German language region Art. 52 of the laws on the use of languages in administrative matters of 18 July 1966). Brussels-Capital is not checked. See \u003Ca href=\"#languages-and-language-regions\">Languages and language regions\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>The messages and hints exist in Dutch, French, German and English. To switch a rule off or change its severity, e.g. \u003Ccode>BE-LANG-01\u003C\u002Fcode> for a business that knows its language obligations, use \u003Ccode>validation.rules\u003C\u002Fcode> (\u003Ca href=\"\u002Fdocs\u002Fvalidation#switching-rules-off-and-changing-their-severity\">Switching rules off and changing their severity\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>For Peppol invoices the Peppol rules apply on top of these (\u003Ca href=\"\u002Fdocs\u002Fvalidation#peppol-rules\">Peppol rules\u003C\u002Fa>). The one you meet most often is \u003Ccode>PEPPOL-EN16931-R003\u003C\u002Fcode>: a Peppol invoice needs a buyer reference (BT-10, \u003Ccode>-&gt;buyerReference()\u003C\u002Fcode>) or a purchase order reference (BT-13, \u003Ccode>-&gt;purchaseOrderReference()\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Ch3 id=\"mandatory-pdf-output\">Mandatory PDF output\u003Ca class=\"q-doc-anchor\" href=\"#mandatory-pdf-output\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>After rendering, the mandatory field guard checks that the PDF shows certain values (\u003Ca href=\"\u002Fdocs\u002Ftemplates#mandatory-field-guard\">Templates: mandatory field guard\u003C\u002Fa>). \u003Ccode>CountryBE::mandatoryOutput()\u003C\u002Fcode> adds these Belgian values to the base fields:\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Condition\u003C\u002Fth>\n\u003Cth>Access key\u003C\u002Fth>\n\u003Cth>Description\u003C\u002Fth>\n\u003Cth>Legal basis\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>the seller or its tax representative has a VAT number\u003C\u002Ftd>\n\u003Ctd data-label=\"Access key\">\u003Ccode>seller.vatId|taxRepresentative.vatId\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Description\">VAT number of the seller\u003C\u002Ftd>\n\u003Ctd data-label=\"Legal basis\">Art. 5 § 1, 3° KB nr. 1\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>the buyer has a VAT number\u003C\u002Ftd>\n\u003Ctd data-label=\"Access key\">\u003Ccode>buyer.vatId\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Description\">VAT number of the buyer\u003C\u002Ftd>\n\u003Ctd data-label=\"Legal basis\">Art. 5 § 1, 4° KB nr. 1\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>each VAT row of category \u003Ccode>AE\u003C\u002Fcode>, \u003Ccode>K\u003C\u002Fcode>, \u003Ccode>G\u003C\u002Fcode> or \u003Ccode>E\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Access key\">\u003Ccode>vatRows[i].label\u003C\u002Fcode> or the legal note with its BT-120 text\u003C\u002Ftd>\n\u003Ctd data-label=\"Description\">reverse charge or exemption mention\u003C\u002Ftd>\n\u003Ctd data-label=\"Legal basis\">Art. 5 § 1, 10° KB nr. 1\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>The default templates print all of them.\u003C\u002Fp>\n\u003Ch2 id=\"format-choice\">Format choice\u003Ca class=\"q-doc-anchor\" href=\"#format-choice\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Since 1 January 2026 invoices between businesses established in Belgium are structured e-invoices, by default Peppol BIS Billing 3.0 (law of 6 February 2024). The pack's format rule, \u003Ccode>Quittio\\Country\\BE\\Formats\\BelgianFormatRule\u003C\u002Fcode>, chooses the format \u003Ccode>peppol\u003C\u002Fcode> (profile \u003Ccode>peppol\u003C\u002Fcode>) when:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>the buyer is not a consumer,\u003C\u002Fli>\n\u003Cli>seller and buyer both have an address in Belgium,\u003C\u002Fli>\n\u003Cli>and the invoice does not consist only of exempt lines (category \u003Ccode>E\u003C\u002Fcode>) other than \u003Ccode>VatPreset::SmallBusiness\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The last point leaves out businesses that only perform exempt supplies (Art. 44 VAT Code). The pack decides it per invoice from the lines: an invoice whose lines are all of category \u003Ccode>E\u003C\u002Fcode>, for example with \u003Ccode>VatPreset::exempt()\u003C\u002Fcode> or a margin scheme preset, is not forced to Peppol.\u003C\u002Fp>\n\u003Cp>Every other invoice keeps the automatic choice of the core (\u003Ca href=\"\u002Fdocs\u002Fformats#automatic-choice\">Automatic choice\u003C\u002Fa>): a consumer gets a PDF, a business in another EU country ZUGFeRD, unless a \u003Ca href=\"\u002Fdocs\u002Fformats#peppol-lookup\">Peppol lookup\u003C\u002Fa> finds it in the Peppol network. A format you request yourself (\u003Ccode>-&gt;format('pdf')\u003C\u002Fcode>, \u003Ca href=\"\u002Fdocs\u002Fformats#requesting-a-format\">Requesting a format\u003C\u002Fa>) always wins over the rule.\u003C\u002Fp>\n\u003Cp>The format \u003Ccode>peppol\u003C\u002Fcode> produces UBL XML only (\u003Ca href=\"\u002Fdocs\u002Fformats#peppol-bis-billing-30\">Peppol BIS Billing 3.0\u003C\u002Fa>). Render a PDF next to it with \u003Ccode>-&gt;formats(['peppol', 'pdf'])\u003C\u002Fcode>; the PDF carries a note that it is a readable copy of the e-invoice and that only the XML is binding. Sending the XML through a Peppol access point is not part of this pack.\u003C\u002Fp>\n\u003Ch3 id=\"peppol-endpoints\">Peppol endpoints\u003Ca class=\"q-doc-anchor\" href=\"#peppol-endpoints\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Peppol addresses seller and buyer by their electronic address (BT-34, BT-49). Belgian businesses are identified by their enterprise number (ondernemingsnummer \u002F numéro d'entreprise) with the scheme \u003Ccode>0208\u003C\u002Fcode>. The pack completes the addresses before calculation and validation (\u003Ccode>CountryBE::complete()\u003C\u002Fcode>): a seller or buyer without electronic address and with a Belgian VAT number gets the enterprise number of that VAT number as endpoint. \u003Ccode>BE0712345630\u003C\u002Fcode> becomes \u003Ccode>&lt;cbc:EndpointID schemeID=&quot;0208&quot;&gt;0712345630&lt;\u002Fcbc:EndpointID&gt;\u003C\u002Fcode>. An electronic address you set yourself is kept:\u003C\u002Fp>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">buyer\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Party\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">make\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Voorbeeld Handel NV'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">vatId\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE0765432146'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">address\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Korenmarkt 10'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'9000'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Gent'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">electronicAddress\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'0765432146'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'0208'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">))         \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F or another scheme Peppol accepts\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cp>The setting \u003Ccode>peppol_endpoints = false\u003C\u002Fcode> turns the completion off (\u003Ca href=\"#settings\">Settings\u003C\u002Fa>). A Peppol invoice without electronic addresses then fails the Peppol rules.\u003C\u002Fp>\n\u003Cp>\u003Ccode>Quittio\\Country\\BE\\Support\\EnterpriseNumber\u003C\u002Fcode> checks and formats enterprise numbers: ten digits, the first one \u003Ccode>0\u003C\u002Fcode> or \u003Ccode>1\u003C\u002Fcode>, the last two 97 minus the first eight modulo 97.\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Method\u003C\u002Fth>\n\u003Cth>Result\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>EnterpriseNumber::normalize('BE 0712 345 630')\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Result\">\u003Ccode>'0712345630'\u003C\u002Fcode>: the ten digits, a leading \u003Ccode>0\u003C\u002Fcode> added to nine digits; null for other lengths\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>EnterpriseNumber::isValid('0712.345.630')\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Result\">\u003Ccode>true\u003C\u002Fcode> when the check digits are right\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>EnterpriseNumber::fromVatId('BE0712345630')\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Result\">\u003Ccode>'0712345630'\u003C\u002Fcode>; null for a VAT number of another country or with wrong check digits\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>EnterpriseNumber::format('712345630')\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Result\">\u003Ccode>'0712.345.630'\u003C\u002Fcode>, the usual notation\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>EnterpriseNumber::SCHEME\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Result\">\u003Ccode>'0208'\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch2 id=\"languages-and-language-regions\">Languages and language regions\u003Ca class=\"q-doc-anchor\" href=\"#languages-and-language-regions\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The pack's default locale is \u003Ccode>nl_BE\u003C\u002Fcode>. It applies when neither the render call, the invoice (\u003Ccode>-&gt;locale()\u003C\u002Fcode>) nor the configuration (\u003Ccode>quittio.defaults.locale\u003C\u002Fcode>) sets one (\u003Ca href=\"\u002Fdocs\u002Ftemplates#translations-and-locales\">Translations and locales\u003C\u002Fa>). The core has labels in Dutch, French, German and English, so \u003Ccode>nl_BE\u003C\u002Fcode>, \u003Ccode>fr_BE\u003C\u002Fcode> and \u003Ccode>de_BE\u003C\u002Fcode> print in the language with Belgian number and date formats.\u003C\u002Fp>\n\u003Cp>Belgian law ties the language of an invoice to the language region of the business's place of operation: the decrees on the use of languages of the Flemish Community (decree of 19 July 1973) and of the French Community (decree of 30 June 1982) require documents that the law prescribes, such as invoices, in the language of the region. \u003Ccode>BE-LANG-01\u003C\u002Fcode> warns when a seller in a language region invoices a customer in Belgium in another language. Set the locale that matches the seller:\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Seller in\u003C\u002Fth>\n\u003Cth>Post codes\u003C\u002Fth>\n\u003Cth>Locale\u003C\u002Fth>\n\u003Cth>\u003Ccode>BE-LANG-01\u003C\u002Fcode>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Dutch language region (Flanders)\u003C\u002Ftd>\n\u003Ctd data-label=\"Post codes\">1500–3999, 8000–9999\u003C\u002Ftd>\n\u003Ctd data-label=\"Locale\">\u003Ccode>nl_BE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"BE-LANG-01\">warns for other languages\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>French language region (Wallonia without the German-speaking municipalities)\u003C\u002Ftd>\n\u003Ctd data-label=\"Post codes\">1300–1499, 4000–7999 except 4700–4791\u003C\u002Ftd>\n\u003Ctd data-label=\"Locale\">\u003Ccode>fr_BE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"BE-LANG-01\">warns for other languages\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>German language region (Eupen, Kelmis, Lontzen, Raeren, Bütgenbach, Büllingen, Amel, St. Vith, Burg-Reuland)\u003C\u002Ftd>\n\u003Ctd data-label=\"Post codes\">4700–4791\u003C\u002Ftd>\n\u003Ctd data-label=\"Locale\">\u003Ccode>de_BE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"BE-LANG-01\">warns for other languages\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Bilingual region Brussels-Capital\u003C\u002Ftd>\n\u003Ctd data-label=\"Post codes\">1000–1299\u003C\u002Ftd>\n\u003Ctd data-label=\"Locale\">\u003Ccode>nl_BE\u003C\u002Fcode> or \u003Ccode>fr_BE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"BE-LANG-01\">not checked\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cul>\n\u003Cli>The rule checks only invoices whose seller and buyer both have an address in Belgium, consumers included.\u003C\u002Fli>\n\u003Cli>It compares the language part of the locale (\u003Ccode>fr\u003C\u002Fcode> of \u003Ccode>fr_BE\u003C\u002Fcode>) with the region. The locale is the invoice's, otherwise the locale of the run, so an invoice without locale counts as Dutch, the pack's default. A business in Wallonia should therefore always set \u003Ccode>-&gt;locale('fr_BE')\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>Quittio\\Country\\BE\\Support\\LanguageRegion::of($postcode)\u003C\u002Fcode> returns the region of a post code: \u003Ccode>LanguageRegion::DUTCH\u003C\u002Fcode> (\u003Ccode>nl\u003C\u002Fcode>), \u003Ccode>FRENCH\u003C\u002Fcode> (\u003Ccode>fr\u003C\u002Fcode>), \u003Ccode>GERMAN\u003C\u002Fcode> (\u003Ccode>de\u003C\u002Fcode>), \u003Ccode>BILINGUAL\u003C\u002Fcode> (\u003Ccode>bilingual\u003C\u002Fcode>) or null for a post code that is not Belgian. The pack derives the region from the post code alone.\u003C\u002Fli>\n\u003Cli>The pack does not choose the locale from the seller's region by itself; the warning points out a mismatch instead (\u003Ca href=\"#known-limitations\">Known limitations\u003C\u002Fa>).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"payment-qr-code\">Payment QR code\u003Ca class=\"q-doc-anchor\" href=\"#payment-qr-code\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The pack sets the payment QR code to \u003Ccode>girocode\u003C\u002Fcode> (\u003Ccode>CountryDefaults::$paymentQr\u003C\u002Fcode>) and ships no generator of its own. With the default QR mode \u003Ccode>auto\u003C\u002Fcode>, the PDF prints the EPC GiroCode, the QR code of the European Payments Council for SEPA credit transfers, when the currency is EUR, the payment means is a credit transfer with a valid IBAN and an amount is due (\u003Ca href=\"\u002Fdocs\u002Ftemplates#payment-qr-codes\">Payment QR codes\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>The structured communication of Belgian banks (OGM\u002FVCS, &quot;overschrijving met gestructureerde mededeling&quot; \u002F &quot;virement avec communication structurée&quot;, in the form \u003Ccode>+++090\u002F9337\u002F55493+++\u003C\u002Fcode>) can be passed as remittance information (BT-83):\u003C\u002Fp>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">payment\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">PaymentMeansCode\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">SepaCreditTransfer\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">iban\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE68539007547034'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">remittanceInformation\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'+++090\u002F9337\u002F55493+++'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cp>The pack does not check its check digits (modulo 97), and the GiroCode carries it as unstructured remittance text, not in the field for a structured reference that the Febelfin guidelines for QR codes on invoices ask for (\u003Ca href=\"#known-limitations\">Known limitations\u003C\u002Fa>).\u003C\u002Fp>\n\u003Ch2 id=\"late-payment\">Late payment\u003Ca class=\"q-doc-anchor\" href=\"#late-payment\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>When a customer pays late, the law on late payment of 2 August 2002 gives the seller interest and, from business debtors, a flat rate of 40 EUR. The pack provides these values and the reference rates. Quittio's documents do not apply them by themselves: calculate the interest with \u003Ccode>Quittio\\Core\\Dunning\\DefaultInterest\u003C\u002Fcode> and pass the results to a payment reminder (\u003Ca href=\"\u002Fdocs\u002Fdocuments#payment-reminders\">Documents: payment reminders\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>\u003Ccode>CountryBE::dunningLaw()\u003C\u002Fcode> (also \u003Ccode>CountryBE::belgianDunningLaw()\u003C\u002Fcode>) returns:\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Value\u003C\u002Fth>\n\u003Cth>Belgium\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Interest for business debtors\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">reference rate plus 8 percentage points\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Interest for consumers\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">fixed rate of 4.50 % (\u003Ccode>b2cFixedRate\u003C\u002Fcode>), the legal interest rate of 2026\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Flat rate for business debtors\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">40.00 EUR\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Day count\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">365 days\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Consumer default\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">not set (\u003Ccode>consumerDefaultAfterDays\u003C\u002Fcode> null)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Reference rate\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">&quot;Referentie-interestvoet (wet van 2 augustus 2002)&quot;\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>The law adds 8 points to the main refinancing rate of the European Central Bank on the first day of the half-year and rounds the sum up to the next half point; the FPS Finance (Federal Public Service Finance) publishes the result. \u003Ccode>Quittio\\Country\\BE\\Dunning\\ReferenceRateTable\u003C\u002Fcode> therefore holds the published rates minus 8 points, so that the sum is the published rate: 2.50 for 2026, which gives 10.50 %. The table starts with 1 January 2023 and ends with the second half of 2026.\u003C\u002Fp>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Brick\\Money\\Money\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Builder\\Party\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Documents\\DocumentBuilder\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Dunning\\DefaultInterest\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Quittio\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Support\\Date\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Country\\BE\\CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$quittio \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">create\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">([\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'country'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> 'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">], [\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">]);\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$interest \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> DefaultInterest\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">forCountry\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">);   \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F reference rates and law of the pack\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$reminder \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> DocumentBuilder\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">paymentReminder\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">1\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)           \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F first reminder, \"1. aanmaning\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">number\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'H-2026-0007'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">issueDate\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-10-20'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">locale\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'nl_BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">seller\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Party\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">make\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Voorbeeld Software BV'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">vatId\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE0712345630'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">address\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Markt 1'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'8000'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Brugge'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">))\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">buyer\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Party\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">make\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Voorbeeld Handel NV'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">vatId\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE0765432146'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">address\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Korenmarkt 10'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'9000'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Gent'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">))\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">creditTransfer\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE68539007547034'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">openItem\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'F-2026-0042'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-08-03'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'1210.00'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">dueDate\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-09-02'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#8B949E\">    \u002F\u002F first day with interest: the day after the due date; 2026-10-20 is the first day without interest\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">interestCharge\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">...\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">$interest\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">calculate\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Money\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">of\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'1210.00'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'EUR'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">), \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Date\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">parse\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-09-03'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">), \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Date\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">parse\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-10-20'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)))\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">flatRate\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'F-2026-0042'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)                              \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F 40.00 EUR for this claim\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">deadline\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-11-03'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">);\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$result \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $quittio\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">document\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">($reminder\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">build\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">())\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">render\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">save\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">__DIR__\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">.\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">filename\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">());           \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F 1._aanmaning_H-2026-0007.pdf\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cul>\n\u003Cli>\u003Cstrong>Interest.\u003C\u002Fstrong> From 3 September to 19 October 2026 the rate is 10.50 %; on 1,210.00 EUR this gives 16.36 EUR for 47 days. A period that spans a change of the reference rate is split into one charge per rate. Pass \u003Ccode>consumer: true\u003C\u002Fcode> for a consumer: one charge at 4.50 %, whatever the dates.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flat rate.\u003C\u002Fstrong> \u003Ccode>flatRate($claim)\u003C\u002Fcode> adds the 40.00 EUR once per claim; the builder rejects it for a consumer and twice for the same claim in one reminder (\u003Ca href=\"\u002Fdocs\u002Fdocuments#payment-reminders\">Payment reminders\u003C\u002Fa>). \u003Ccode>$interest-&gt;flatRate()\u003C\u002Fcode> returns the amount.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Later rates.\u003C\u002Fstrong> For a day after 31 December 2026, \u003Ccode>calculate()\u003C\u002Fcode> throws an \u003Ccode>InvalidArgumentException\u003C\u002Fcode> (&quot;No Belgian reference rate is known …&quot;). Add the rate of a new half-year, the published rate minus 8 points, with \u003Ccode>withRate()\u003C\u002Fcode>:\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Dunning\\DefaultInterest\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Country\\BE\\CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Country\\BE\\Dunning\\ReferenceRateTable\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$rates \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> (\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> ReferenceRateTable\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">withRate\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2027-01-01'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2.50'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">);   \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F example value: the published rate minus 8 points\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$interest \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> DefaultInterest\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">($rates, \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">belgianDunningLaw\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">());\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cul>\n\u003Cli>\u003Cstrong>Consumers.\u003C\u002Fstrong> The legal interest rate changes every year, but the pack has one fixed rate of 4.50 %, which it applies to any period. For another year, pass your own \u003Ccode>DunningLaw\u003C\u002Fcode> with the rate of that year as \u003Ccode>b2cFixedRate\u003C\u002Fcode> to \u003Ccode>new DefaultInterest(...)\u003C\u002Fcode>. The rules of Book XIX of the Code of Economic Law on consumer debts are not modelled (\u003Ca href=\"#known-limitations\">Known limitations\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Descriptions.\u003C\u002Fstrong> \u003Ccode>DefaultInterest::forCountry()\u003C\u002Fcode> returns charges without a description; the reminder prints the default label of the core, e.g. &quot;Nalatigheidsinterest 10,5 % per jaar op 1.210,00 € van 03\u002F09\u002F2026 tot 19\u002F10\u002F2026&quot;.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"settings\">Settings\u003Ca class=\"q-doc-anchor\" href=\"#settings\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The pack has one setting, under \u003Ccode>quittio.countries.be\u003C\u002Fcode> (\u003Ca href=\"\u002Fdocs\u002Fconfiguration#settings-of-a-pack-quittiocountriescode\">Settings of a pack\u003C\u002Fa>):\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Key\u003C\u002Fth>\n\u003Cth>Type\u003C\u002Fth>\n\u003Cth>Default\u003C\u002Fth>\n\u003Cth>Effect\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>countries.be.peppol_endpoints\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Type\">bool\u003C\u002Ftd>\n\u003Ctd data-label=\"Default\">\u003Ccode>true\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">Seller and buyer without electronic address get the enterprise number of their Belgian VAT number as Peppol endpoint (scheme \u003Ccode>0208\u003C\u002Fcode>, \u003Ca href=\"#peppol-endpoints\">Peppol endpoints\u003C\u002Fa>). \u003Ccode>false\u003C\u002Fcode> = set the electronic addresses yourself.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>The pack has no configuration file to publish. In Laravel, set the key in \u003Ccode>config\u002Fquittio.php\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#A5D6FF\">'countries'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> [\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#A5D6FF\">    'be'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> [\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'peppol_endpoints'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> false\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">],\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cp>Without Laravel, pass the same array to \u003Ccode>Quittio::create()\u003C\u002Fcode>: \u003Ccode>Quittio::create(['country' =&gt; 'BE', 'countries' =&gt; ['be' =&gt; ['peppol_endpoints' =&gt; false]]], [new CountryBE])\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>The pack defines no meta flags of its own. It reads the core flag \u003Ccode>Meta::FLAG_SMALL_BUSINESS\u003C\u002Fcode> (\u003Ca href=\"#small-businesses\">Small businesses\u003C\u002Fa>).\u003C\u002Fp>\n\u003Ch2 id=\"defaults\">Defaults\u003Ca class=\"q-doc-anchor\" href=\"#defaults\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>\u003Ccode>CountryBE::defaults()\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Value\u003C\u002Fth>\n\u003Cth>Belgium\u003C\u002Fth>\n\u003Cth>Effect\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>locale\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>nl_BE\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">last fallback for the render and validation locale (\u003Ca href=\"#languages-and-language-regions\">Languages and language regions\u003C\u002Fa>)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>currency\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>EUR\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">shown by \u003Ccode>quittio:countries\u003C\u002Fcode>; not applied to invoices\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>timezone\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>Europe\u002FBrussels\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">informational; also the time zone of \u003Ccode>VatPreset::Accommodation-&gt;rate()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>paper\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>A4\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">\u003Ca href=\"\u002Fdocs\u002Ftemplates#paper-size\">Paper size\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>letterLayout\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>free\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">the pack has no letter layouts of its own (\u003Ca href=\"\u002Fdocs\u002Ftemplates#letter-layouts\">Letter layouts\u003C\u002Fa>)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>profile\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>peppol\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">shown by \u003Ccode>quittio:countries\u003C\u002Fcode>; the format rule chooses Peppol where it applies (\u003Ca href=\"#format-choice\">Format choice\u003C\u002Fa>)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>paymentQr\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>girocode\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">\u003Ca href=\"#payment-qr-code\">Payment QR code\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>vatPreset\u003C\u002Fcode>, \u003Ccode>smallBusinessVatPreset\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>be.standard\u003C\u002Fcode>, \u003Ccode>be.small_business\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Effect\">\u003Ca href=\"\u002Fdocs\u002Fbuilding-invoices#default-vat\">Default VAT\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3 id=\"numbering\">Numbering\u003Ca class=\"q-doc-anchor\" href=\"#numbering\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>\u003Ccode>CountryBE::numberingRules()\u003C\u002Fcode> is used by Managed numbering (\u003Ca href=\"\u002Fdocs\u002Fmanaged#numbering\">Managed: numbering\u003C\u002Fa>). An invoice needs a sequential number in one or more series (Art. 5 § 1, 2° Royal Decree No. 1).\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Property\u003C\u002Fth>\n\u003Cth>Belgium\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>defaultPattern\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>F-{Y}-{seq:4}\u003C\u002Fcode>, e.g. \u003Ccode>F-2026-0042\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>defaultReset\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>yearly\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>allowedResets\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>never\u003C\u002Fcode>, \u003Ccode>yearly\u003C\u002Fcode> (no monthly reset)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>gapless\u003C\u002Fcode>, \u003Ccode>numberConsumedOnRejection\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>true\u003C\u002Fcode>, \u003Ccode>true\u003C\u002Fcode> (declared, see \u003Ca href=\"\u002Fdocs\u002Fcountry-packs#numberingrules\">NumberingRules\u003C\u002Fa>)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3 id=\"retention\">Retention\u003Ca class=\"q-doc-anchor\" href=\"#retention\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>\u003Ccode>CountryBE::retention()\u003C\u002Fcode> returns \u003Ccode>new RetentionRule(7, fromEndOfCalendarYear: true)\u003C\u002Fcode>: invoices are kept for seven years from the end of the calendar year of issue (Art. 60 § 3 VAT Code as amended by the law of 18 December 2025, for VAT due from 2023). An invoice issued on 5 October 2026 is kept until 31 December 2033. The Managed layer stores this date (\u003Ca href=\"\u002Fdocs\u002Fmanaged#retention-and-deletion\">Managed: retention and deletion\u003C\u002Fa>).\u003C\u002Fp>\n\u003Ch3 id=\"cancellations-and-corrections\">Cancellations and corrections\u003Ca class=\"q-doc-anchor\" href=\"#cancellations-and-corrections\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>\u003Ccode>CountryBE::correctionPolicy()\u003C\u002Fcode> cancels with a credit note (type code 381, positive amounts) and corrects by cancelling and issuing a new invoice (\u003Ca href=\"\u002Fdocs\u002Fcountry-packs#correctionpolicy\">CorrectionPolicy\u003C\u002Fa>, \u003Ca href=\"\u002Fdocs\u002Fbuilding-invoices#cancellations-and-corrections\">Building invoices: cancellations and corrections\u003C\u002Fa>). The titles:\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Kind\u003C\u002Fth>\n\u003Cth>Dutch\u003C\u002Fth>\n\u003Cth>French\u003C\u002Fth>\n\u003Cth>German\u003C\u002Fth>\n\u003Cth>English\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>cancellation\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Creditnota\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Note de crédit\u003C\u002Ftd>\n\u003Ctd data-label=\"German\">Gutschrift\u003C\u002Ftd>\n\u003Ctd data-label=\"English\">Credit note\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>correction\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Verbeterde factuur\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Facture rectificative\u003C\u002Ftd>\n\u003Ctd data-label=\"German\">Berichtigte Rechnung\u003C\u002Ftd>\n\u003Ctd data-label=\"English\">Corrected invoice\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>self_billed\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Dutch\">Zelffacturering\u003C\u002Ftd>\n\u003Ctd data-label=\"French\">Autofacturation\u003C\u002Ftd>\n\u003Ctd data-label=\"German\">Gutschrift (Selbstfakturierung)\u003C\u002Ftd>\n\u003Ctd data-label=\"English\">Self-billed invoice\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>A self-billed invoice still needs the words in a note for \u003Ccode>BE-VAT-07\u003C\u002Fcode>, e.g. \u003Ccode>-&gt;note('Zelffacturering')\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch2 id=\"translations\">Translations\u003Ca class=\"q-doc-anchor\" href=\"#translations\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The pack ships catalogs in Dutch, French, German and English in \u003Ccode>resources\u002Flang\u002F{nl,fr,de,en}\u002F\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>rules.php\u003C\u002Fcode>: message and hint of every rule (\u003Ccode>BE-VAT-01\u003C\u002Fcode> to \u003Ccode>BE-VAT-08\u003C\u002Fcode>, \u003Ccode>BE-LANG-01\u003C\u002Fcode>);\u003C\u002Fli>\n\u003Cli>\u003Ccode>tax.php\u003C\u002Fcode>: the exemption reason texts of the presets, including \u003Ccode>be.exempt\u003C\u002Fcode> for \u003Ccode>VatPreset::exempt()\u003C\u002Fcode> (placeholder \u003Ccode>:paragraph\u003C\u002Fcode>).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>They are registered as the namespace \u003Ccode>quittio-be\u003C\u002Fcode>, e.g. \u003Ccode>quittio-be::rules.BE-VAT-08.message\u003C\u002Fcode>. \u003Ccode>CountryBE::registerTranslations()\u003C\u002Fcode> registers them lazily, so presets work without a \u003Ccode>Quittio\u003C\u002Fcode> instance. A regional locale such as \u003Ccode>fr_BE\u003C\u002Fcode> takes the texts of its language; other locales fall back to English. \u003Ccode>CountryBE::locales()\u003C\u002Fcode> lists the shipped locales (\u003Ccode>de\u003C\u002Fcode>, \u003Ccode>en\u003C\u002Fcode>, \u003Ccode>fr\u003C\u002Fcode>, \u003Ccode>nl\u003C\u002Fcode>). The correction policy titles are defined in PHP and cannot be changed through files.\u003C\u002Fp>\n\u003Cp>With Laravel, Laravel's translator is used, so the usual override files apply: \u003Ccode>lang\u002Fvendor\u002Fquittio-be\u002F{locale}\u002Frules.php\u003C\u002Fcode> and \u003Ccode>tax.php\u003C\u002Fcode>, also for additional locales. A file needs only the keys it changes.\u003C\u002Fp>\n\u003Cp>Without Laravel, add a directory of your own after the pack has registered its texts; a path added later overrides earlier ones:\u003C\u002Fp>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\I18n\\Translations\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Quittio\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Country\\BE\\CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$quittio \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">create\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">([\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'country'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> 'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">], [\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">]);\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#79C0FF\">CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">registerTranslations\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#8B949E\">\u002F\u002F lang\u002Fnl\u002Frules.php: return ['BE-VAT-03' => ['hint' => 'Vraag het btw-nummer van de klant op.']];\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#79C0FF\">Translations\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">translator\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">()\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">addPath\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">__DIR__\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">.\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'\u002Flang'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">TRANSLATION_NAMESPACE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">);\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cp>Change the wording of a legal mention in \u003Ccode>tax.php\u003C\u002Fcode> only after checking it; the rules \u003Ccode>BE-VAT-04\u003C\u002Fcode> and \u003Ccode>BE-VAT-05\u003C\u002Fcode> read the texts.\u003C\u002Fp>\n\u003Ch2 id=\"the-belgian-packs-hooks\">The Belgian pack's hooks\u003Ca class=\"q-doc-anchor\" href=\"#the-belgian-packs-hooks\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>For pack authors, this is how \u003Ccode>CountryBE\u003C\u002Fcode> fills the \u003Ca href=\"\u002Fdocs\u002Fcountry-packs#the-countrypack-contract\">\u003Ccode>CountryPack\u003C\u002Fcode> contract\u003C\u002Fa>:\u003C\u002Fp>\n\u003Ctable class=\"q-doc-table q-stack-table\">\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Hook\u003C\u002Fth>\n\u003Cth>Belgium\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>defaults()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#defaults\">Defaults\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>profiles()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">none (the core profile \u003Ccode>peppol\u003C\u002Fcode> is used)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>taxPresets()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">every case of \u003Ca href=\"#tax-presets\">\u003Ccode>VatPreset\u003C\u002Fcode>\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>rules()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#rules\">\u003Ccode>BE-VAT-01\u003C\u002Fcode> to \u003Ccode>BE-VAT-08\u003C\u002Fcode> and \u003Ccode>BE-LANG-01\u003C\u002Fcode>\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>buyerCountryRules()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">none\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>formatRules()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#format-choice\">\u003Ccode>BelgianFormatRule\u003C\u002Fcode>\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>mandatoryOutput()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#mandatory-pdf-output\">mandatory PDF output\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>legalTexts()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">none\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>numberingRules()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#numbering\">pattern \u003Ccode>F-{Y}-{seq:4}\u003C\u002Fcode>, resets \u003Ccode>never\u003C\u002Fcode> and \u003Ccode>yearly\u003C\u002Fcode>\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>retention()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#retention\">7 years from the end of the calendar year\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>dunningLaw()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#late-payment\">law of 2 August 2002\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>correctionPolicy()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#cancellations-and-corrections\">credit note, cancel and reissue\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>letterLayouts()\u003C\u002Fcode>, \u003Ccode>paymentQr()\u003C\u002Fcode>, \u003Ccode>addressFormatter()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">defaults: \u003Ccode>free\u003C\u002Fcode>, EPC GiroCode, international address format\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>translationPath()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ccode>resources\u002Flang\u003C\u002Fcode> of the package\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>complete()\u003C\u002Fcode> (\u003Ccode>CompletesInvoices\u003C\u002Fcode>)\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#peppol-endpoints\">Peppol endpoints\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>referenceRates()\u003C\u002Fcode> (\u003Ccode>ProvidesReferenceRates\u003C\u002Fcode>)\u003C\u002Ftd>\n\u003Ctd data-label=\"Belgium\">\u003Ca href=\"#late-payment\">\u003Ccode>ReferenceRateTable\u003C\u002Fcode>\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch2 id=\"known-limitations\">Known limitations\u003Ca class=\"q-doc-anchor\" href=\"#known-limitations\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>The legal wording, rules and defaults have not been reviewed by a Belgian tax adviser (see the notice at the top).\u003C\u002Fli>\n\u003Cli>The locale is not chosen from the seller's language region; \u003Ccode>BE-LANG-01\u003C\u002Fcode> points out a mismatch instead. The language rules beyond the main language are not modelled either: Flanders allows a second binding version only for customers in another EU or EEA state, the French language region an additional language of the parties' choice, Brussels Dutch or French.\u003C\u002Fli>\n\u003Cli>Structured communication (OGM\u002FVCS, \u003Ccode>+++…+++\u003C\u002Fcode>, check digits modulo 97) is not checked, and the GiroCode carries it as unstructured text instead of in the reference field (EPC069-12 version 002) as the Febelfin guidelines for QR codes on invoices ask.\u003C\u002Fli>\n\u003Cli>There is no Laravel service provider with a configuration file; set the one setting in \u003Ccode>config\u002Fquittio.php\u003C\u002Fcode> (\u003Ca href=\"#settings\">Settings\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>Consumer debts (Book XIX of the Code of Economic Law): the free first reminder, the waiting period of 14 calendar days, interest of at most the reference rate plus 8 points and the agreed flat rates (20 EUR, 30 EUR plus 10 %, 65 EUR plus 5 %, at most 2,000 EUR) are not modelled. The consumer rate is one fixed rate of 4.50 %.\u003C\u002Fli>\n\u003Cli>Reference rates from 2027: \u003Ccode>ReferenceRateTable\u003C\u002Fcode> ends with the second half of 2026; add later half-years with \u003Ccode>withRate()\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Sending through a Peppol access point is not part of the pack.\u003C\u002Fli>\n\u003Cli>The pack has no rules for foreign sellers invoicing Belgian buyers, and no exporters or readers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"complete-example\">Complete example\u003Ca class=\"q-doc-anchor\" href=\"#complete-example\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>A software company in Bruges invoices a trading company in Ghent for ten hours of web development and a handbook. Both are businesses in Belgium, so the pack chooses Peppol BIS, adds the enterprise numbers as Peppol endpoints and checks the Belgian mentions. The seller is in the Dutch language region, so the invoice is in Dutch.\u003C\u002Fp>\n\u003Cdiv class=\"q-doc-code\">\u003Cdiv class=\"q-doc-code-bar\">\u003Cspan>php\u003C\u002Fspan>\u003Cbutton type=\"button\" class=\"q-doc-copy\" data-copy aria-label=\"Copy code\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003Cspan>Copy\u003C\u002Fspan>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">&#x3C;?\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">php\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">require\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> __DIR__\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">.\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'\u002Fvendor\u002Fautoload.php'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Builder\\InvoiceBuilder\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Builder\\Party\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Enums\\PaymentMeansCode\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Enums\\UnitCode\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Quittio\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Core\\Tax\\CountryDefaultVat\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Country\\BE\\CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#FF7B72\">use\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\\Country\\BE\\Tax\\VatPreset\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">;\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$quittio \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> Quittio\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">create\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">([\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'country'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> 'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">], [\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> CountryBE\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">]);\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#79C0FF\">InvoiceBuilder\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">useDefaultVat\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> CountryDefaultVat\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">($quittio\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">countries\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">()));   \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F lines without vat: 21 %\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$invoice \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> InvoiceBuilder\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">make\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">()\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">number\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'F-2026-0042'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">issueDate\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-10-05'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">deliveryDate\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'2026-09-30'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)                         \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F invoice by 15 October (BE-VAT-08)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">locale\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'nl_BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)                                    \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F Bruges: Dutch language region (BE-LANG-01)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">buyerReference\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'PO-4711'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)                          \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F Peppol needs BT-10 or BT-13\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">seller\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Party\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">make\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Voorbeeld Software BV'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:10ch;text-indent:-10ch\">\u003Cspan style=\"color:#FF7B72\">        ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">vatId\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE0712345630'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)                          \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F enterprise number 0712.345.630\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:10ch;text-indent:-10ch\">\u003Cspan style=\"color:#FF7B72\">        ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">address\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Markt 1'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'8000'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Brugge'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:10ch;text-indent:-10ch\">\u003Cspan style=\"color:#FF7B72\">        ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">contact\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'An Peeters'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'+32 50 12 34 56'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'facturen@voorbeeld-software.example'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">))\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">buyer\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Party\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">make\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Voorbeeld Handel NV'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:10ch;text-indent:-10ch\">\u003Cspan style=\"color:#FF7B72\">        ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">vatId\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE0765432146'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:10ch;text-indent:-10ch\">\u003Cspan style=\"color:#FF7B72\">        ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">address\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Korenmarkt 10'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'9000'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Gent'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">))\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">line\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Webontwikkeling'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">netPrice\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'95.00'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">quantity\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">10\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">unit\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">UnitCode\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Hour\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)   \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F 21 %\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">line\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'Handboek'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">netPrice\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'40.00'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">vat\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">VatPreset\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Reduced\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)                     \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F 6 %\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">payment\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">PaymentMeansCode\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">::\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">SepaCreditTransfer\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">iban\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'BE68539007547034'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">remittanceInformation\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'+++090\u002F9337\u002F55493+++'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">dueInDays\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">30\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">build\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#8B949E\">\u002F\u002F Peppol BIS (the binding e-invoice) and a readable PDF from one calculation\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$result \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $quittio\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">make\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">($invoice)\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">formats\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">([\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'peppol'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'pdf'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">])\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">render\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">format\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">();                                       \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F \"peppol\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">save\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">__DIR__\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">.\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">filename\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">());          \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F Factuur_F-2026-0042.xml\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">as\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'pdf'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">save\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">__DIR__\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">.\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">.\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">as\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'pdf'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">filename\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">());   \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F Factuur_F-2026-0042.pdf\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">validation\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">()\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">isValid\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">();                        \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F true, no errors or warnings\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#E6EDF3\">$result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">data\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">()\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">seller\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">electronicAddress\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">?->\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">value;     \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F \"0712345630\", scheme 0208\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:2ch;text-indent:-2ch\">\u003Cspan style=\"color:#79C0FF\">echo\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $result\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\">data\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">()\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">totals\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">->\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">amountDue;                 \u003C\u002Fspan>\u003Cspan style=\"color:#8B949E\">\u002F\u002F EUR 1191.90\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\u003Cul>\n\u003Cli>\u003Ccode>render()\u003C\u002Fcode> calculates, validates and renders. An error, e.g. a missing address (\u003Ccode>BE-VAT-02\u003C\u002Fcode>) or a missing buyer reference (\u003Ccode>PEPPOL-EN16931-R003\u003C\u002Fcode>), throws a \u003Ccode>ValidationException\u003C\u002Fcode>; warnings such as \u003Ccode>BE-VAT-03\u003C\u002Fcode> or \u003Ccode>BE-LANG-01\u003C\u002Fcode> are in \u003Ccode>$result-&gt;validation()-&gt;warnings()\u003C\u002Fcode>. To check without rendering, call \u003Ccode>$quittio-&gt;make($invoice)-&gt;check()\u003C\u002Fcode> (\u003Ca href=\"\u002Fdocs\u002Fvalidation\">Validation\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>The XML contains \u003Ccode>&lt;cbc:EndpointID schemeID=&quot;0208&quot;&gt;0712345630&lt;\u002Fcbc:EndpointID&gt;\u003C\u002Fcode> for the seller and \u003Ccode>0765432146\u003C\u002Fcode> for the buyer (\u003Ca href=\"#peppol-endpoints\">Peppol endpoints\u003C\u002Fa>). Hand it to your Peppol access point.\u003C\u002Fli>\n\u003Cli>The PDF is in Dutch (&quot;Factuur&quot;, &quot;Totaal incl. btw&quot;), with Belgian date formats and a GiroCode for the transfer.\u003C\u002Fli>\n\u003Cli>With Laravel, the seller and its bank account come from \u003Ccode>config\u002Fquittio.php\u003C\u002Fcode>, and \u003Ccode>Quittio::invoice()\u003C\u002Fcode> starts the invoice (\u003Ca href=\"\u002Fdocs\u002Flaravel#starting-invoices\">Laravel integration\u003C\u002Fa>). Set \u003Ccode>defaults.country\u003C\u002Fcode> to \u003Ccode>BE\u003C\u002Fcode> for invoices whose seller has no country code.\u003C\u002Fli>\n\u003C\u002Ful>\n",[111,115,118,121,124,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173],{"id":112,"text":113,"level":114},"installation","Installation",2,{"id":116,"text":117,"level":114},"when-it-applies","When it applies",{"id":119,"text":120,"level":114},"common-tasks","Common tasks",{"id":122,"text":123,"level":114},"tax-presets","Tax presets",{"id":125,"text":126,"level":127},"small-businesses","Small businesses",3,{"id":129,"text":130,"level":114},"rules","Rules",{"id":132,"text":133,"level":127},"mandatory-pdf-output","Mandatory PDF output",{"id":135,"text":136,"level":114},"format-choice","Format choice",{"id":138,"text":139,"level":127},"peppol-endpoints","Peppol endpoints",{"id":141,"text":142,"level":114},"languages-and-language-regions","Languages and language regions",{"id":144,"text":145,"level":114},"payment-qr-code","Payment QR code",{"id":147,"text":148,"level":114},"late-payment","Late payment",{"id":150,"text":151,"level":114},"settings","Settings",{"id":153,"text":154,"level":114},"defaults","Defaults",{"id":156,"text":157,"level":127},"numbering","Numbering",{"id":159,"text":160,"level":127},"retention","Retention",{"id":162,"text":163,"level":127},"cancellations-and-corrections","Cancellations and corrections",{"id":165,"text":166,"level":114},"translations","Translations",{"id":168,"text":169,"level":114},"the-belgian-packs-hooks","The Belgian pack's hooks",{"id":171,"text":172,"level":114},"known-limitations","Known limitations",{"id":174,"text":175,"level":114},"complete-example","Complete example","https:\u002F\u002Fgithub.com\u002FQuittio\u002Fquittio\u002Fedit\u002Fmaster\u002Fdocs\u002Fcountry-be.md","\u002Fdocs\u002Fcountry-be.md",{"slug":76,"title":77},{"slug":82,"title":83}]