[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs:api\u002FQuittio\u002FCore\u002FCalculation\u002FAllowanceSplitter":3},{"versions":4,"version":26,"nav":28,"path":106,"kind":107,"page":108},[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","api\u002FQuittio\u002FCore\u002FCalculation\u002FAllowanceSplitter","api",{"title":109,"description":110,"html":111,"headings":112},"AllowanceSplitter","Splits a document discount over several VAT groups.","\u003Cp class=\"q-api-crumbs\">\u003Ca href=\"\u002Fdocs\u002Fapi\">API reference\u003C\u002Fa> \u002F \u003Ca href=\"\u002Fdocs\u002Fapi\u002FQuittio\">Quittio\u003C\u002Fa> \\ \u003Ca href=\"\u002Fdocs\u002Fapi\u002FQuittio\u002FCore\">Core\u003C\u002Fa> \\ \u003Ca href=\"\u002Fdocs\u002Fapi\u002FQuittio\u002FCore\u002FCalculation\">Calculation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch1>AllowanceSplitter\u003C\u002Fh1>\n\u003Cp class=\"q-api-facts\">\u003Cspan class=\"q-api-badge q-api-badge-kind\">final class\u003C\u002Fspan> in \u003Cspan class=\"q-api-badge\">quittio\u002Fcore\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp class=\"q-api-name\">\u003Ccode>Quittio\\Core\\Calculation\\AllowanceSplitter\u003C\u002Fcode> · \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FQuittio\u002Fquittio\u002Fblob\u002Fv0.7.1\u002Fpackages\u002Fcore\u002Fsrc\u002FCalculation\u002FAllowanceSplitter.php#L30\">Source\u003C\u002Fa>\u003C\u002Fp>\n\n\u003Cp class=\"q-doc-lead\">Splits a document discount over several VAT groups.\u003C\u002Fp>\n\u003Cp>A document allowance has exactly one VAT category and rate. A discount on\nall lines is therefore split into one allowance per VAT group, in proportion\nto the signed line sum of the group. Rounding differences are distributed with\nthe largest remainder method, so that the parts add up exactly to the total\ndiscount. A group with a negative sum (returns) receives a negative part.\u003C\u002Fp>\n\u003Cp>For percentage discounts, base amount and percentage are kept on a part only\nif the part equals round2(base × percent \u002F 100); otherwise only the amount is\nwritten, because validators check that formula (e.g. PEPPOL-EN16931-R040).\u003C\u002Fp>\n\n\u003Ch2 id=\"methods\">Methods\u003Ca class=\"q-doc-anchor\" href=\"#methods\" aria-label=\"Link to this section\">#\u003C\u002Fa>\u003C\u002Fh2>\n\u003Ctable class=\"q-doc-table q-stack-table q-api-summary\">\u003Cthead>\u003Ctr>\u003Cth>Method\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>\u003Ca href=\"#method-__construct\">\u003Ccode>->__construct()\u003C\u002Fcode>\u003C\u002Fa>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ca href=\"#method-splitAllowance\">\u003Ccode>->splitAllowance()\u003C\u002Fcode>\u003C\u002Fa>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Csection class=\"q-api-member\" id=\"method-__construct\">\n\u003Ch3>\u003Ccode>__construct()\u003C\u002Fcode>\u003Ca class=\"q-doc-anchor\" href=\"#method-__construct\" aria-label=\"Link to this method\">#\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cdiv class=\"q-doc-code q-doc-code-plain\">\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\">public\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> function\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> __construct\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#79C0FF\">    LineCalculator\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $lineCalculator \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> new\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> \\Quittio\\Core\\Calculation\\LineCalculator\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\n\n\u003Ctable class=\"q-doc-table q-stack-table\">\u003Cthead>\u003Ctr>\u003Cth>Parameter\u003C\u002Fth>\u003Cth>Type\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>\u003Ccode>$lineCalculator\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Type\">\u003Ccode>\u003Ca href=\"\u002Fdocs\u002Fapi\u002FQuittio\u002FCore\u002FCalculation\u002FLineCalculator\">LineCalculator\u003C\u002Fa>\u003C\u002Fcode>\u003Cspan class=\"q-api-default\"> = \u003Ccode>new \\Quittio\\Core\\Calculation\\LineCalculator()\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003C\u002Fsection>\n\u003Csection class=\"q-api-member\" id=\"method-splitAllowance\">\n\u003Ch3>\u003Ccode>splitAllowance()\u003C\u002Fcode>\u003Ca class=\"q-doc-anchor\" href=\"#method-splitAllowance\" aria-label=\"Link to this method\">#\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cdiv class=\"q-doc-code q-doc-code-plain\">\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\">public\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\"> function\u003C\u002Fspan>\u003Cspan style=\"color:#D2A8FF\"> splitAllowance\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#E6EDF3\">    list&#x3C;InvoiceLine> $lines,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    string\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $currency,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ?\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">BigDecimal\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $percent,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ?\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">Money\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $amount,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#FF7B72\">    ?string\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $reason \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> null\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\" style=\"padding-left:6ch;text-indent:-6ch\">\u003Cspan style=\"color:#79C0FF\">    AllowanceReasonCode\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">|\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">RawCode\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">|\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">null\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> $reasonCode \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> null\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\">): list&#x3C;DocumentAllowance>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\n\n\n\u003Ctable class=\"q-doc-table q-stack-table\">\u003Cthead>\u003Ctr>\u003Cth>Parameter\u003C\u002Fth>\u003Cth>Type\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>\u003Ccode>$lines\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Type\">\u003Ccode>list&lt;\u003Ca href=\"\u002Fdocs\u002Fapi\u002FQuittio\u002FCore\u002FData\u002FLines\u002FInvoiceLine\">InvoiceLine\u003C\u002Fa>&gt;\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>$currency\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Type\">\u003Ccode>string\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>$percent\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Type\">\u003Ccode>?Brick\\Math\\BigDecimal\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>$amount\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Type\">\u003Ccode>?Brick\\Money\\Money\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>$reason\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Type\">\u003Ccode>?string\u003C\u002Fcode>\u003Cspan class=\"q-api-default\"> = \u003Ccode>null\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>$reasonCode\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd data-label=\"Type\">\u003Ccode>\u003Ca href=\"\u002Fdocs\u002Fapi\u002FQuittio\u002FCore\u002FEnums\u002FAllowanceReasonCode\">AllowanceReasonCode\u003C\u002Fa>|\u003Ca href=\"\u002Fdocs\u002Fapi\u002FQuittio\u002FCore\u002FCodes\u002FRawCode\">RawCode\u003C\u002Fa>|null\u003C\u002Fcode>\u003Cspan class=\"q-api-default\"> = \u003Ccode>null\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Ftd>\u003Ctd data-label=\"Description\">\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cdl class=\"q-api-dl\">\n\u003Cdt>Returns\u003C\u002Fdt>\u003Cdd>\u003Ccode>list&lt;\u003Ca href=\"\u002Fdocs\u002Fapi\u002FQuittio\u002FCore\u002FData\u002FAllowanceCharge\u002FDocumentAllowance\">DocumentAllowance\u003C\u002Fa>&gt;\u003C\u002Fcode>\u003C\u002Fdd>\n\u003C\u002Fdl>\n\u003C\u002Fsection>",[113],{"id":114,"text":115,"level":116},"methods","Methods",2]