UNA:+.? '{o.useHighPrecisionArithmetic=true}{#edi($text) = $text:unaccent:replace('?', '??'):replace('+', '?+'):replace(':', '?:'):replace('''', '?''')} UNB+UNOC:3+{d.supplier.gln}:14+{d.buyer.gln}:14+{d.interchange.date:formatD('YYMMDD:HHmm')}+{d.interchange.ref}' UNH+1+INVOIC:D:96A:UN:EAN008' BGM+380+{d.invoice.number}+9' DTM+137:{d.invoice.date:formatD('YYYYMMDD')}:102' RFF+ON:{d.invoice.orderNumber}' NAD+BY+{d.buyer.gln}::9++{$edi(d.buyer.name)}+{$edi(d.buyer.street)}+{$edi(d.buyer.city)}++{d.buyer.postcode}+{d.buyer.country}' NAD+SU+{d.supplier.gln}::9++{$edi(d.supplier.name)}+{$edi(d.supplier.street)}+{$edi(d.supplier.city)}++{d.supplier.postcode}+{d.supplier.country}' CUX+2:{d.invoice.currency}:4' {d.lines[i]}LIN+{d.lines[i].gtin:cumCount}++{d.lines[i].gtin}:EN' QTY+47:{d.lines[i].qty}' MOA+203:{d.lines[i].qty:mul(.price):round(2)}' PRI+AAA:{d.lines[i].price}' {d.lines[i+1]}UNS+S' MOA+77:{d.lines[].qty:mul(.price):aggSum:round(2):mul(1 + d.invoice.vatRate / 100):round(2)}' MOA+79:{d.lines[].qty:mul(.price):aggSum:round(2)}' MOA+125:{d.lines[].qty:mul(.price):aggSum:round(2)}' TAX+7+VAT+++:::{d.invoice.vatRate}+S' MOA+124:{d.lines[].qty:mul(.price):aggSum:round(2):mul(d.invoice.vatRate / 100):round(2)}' UNT+{d.lines[].gtin:aggCount:mul(4):add(14)}+1' UNZ+1+{d.interchange.ref}'