import { B as BaseZugferdContext, I as InferSchema, P as Profile } from '../index-CLe7O-Zp.js';
import * as zod from 'zod';
import 'pdf-lib';
import 'fast-xml-parser';

declare const BASIC: {
    id: "basic";
    contextParameter: string;
    extends: (({
        id: "minimum";
        contextParameter: string;
        schema: {
            businessProcessType: {
                key: string;
                type: "string";
                required: false;
                description: string;
                xpath: string;
            };
            specificationIdentifier: {
                key: string;
                type: "string";
                required: false;
                defaultValue: string;
                description: string;
                xpath: string;
            };
            number: {
                key: string;
                type: "string";
                description: string;
                xpath: string;
            };
            typeCode: {
                key: string;
                type: ("3" | "1" | "2" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40" | "41" | "42" | "43" | "44" | "45" | "46" | "47" | "48" | "49" | "50" | "51" | "52" | "53" | "54" | "55" | "56" | "57" | "58" | "59" | "60" | "61" | "62" | "63" | "64" | "65" | "66" | "67" | "68" | "69" | "70" | "71" | "72" | "73" | "74" | "75" | "76" | "77" | "78" | "79" | "80" | "81" | "82" | "83" | "84" | "85" | "86" | "87" | "88" | "89" | "90" | "91" | "92" | "93" | "94" | "95" | "96" | "97" | "98" | "99" | "100" | "101" | "102" | "103" | "104" | "105" | "106" | "107" | "108" | "109" | "110" | "111" | "112" | "113" | "114" | "115" | "116" | "117" | "118" | "119" | "120" | "121" | "122" | "123" | "124" | "125" | "126" | "127" | "128" | "129" | "130" | "131" | "132" | "133" | "134" | "135" | "136" | "137" | "138" | "139" | "140" | "141" | "142" | "143" | "144" | "145" | "146" | "147" | "148" | "149" | "150" | "151" | "152" | "153" | "154" | "155" | "156" | "157" | "158" | "159" | "160" | "161" | "162" | "163" | "164" | "165" | "166" | "167" | "168" | "169" | "170" | "171" | "172" | "173" | "174" | "175" | "176" | "177" | "178" | "179" | "180" | "181" | "182" | "183" | "184" | "185" | "186" | "187" | "188" | "189" | "190" | "191" | "192" | "193" | "194" | "195" | "196" | "197" | "198" | "199" | "200" | "201" | "202" | "203" | "204" | "205" | "206" | "207" | "208" | "209" | "210" | "211" | "212" | "213" | "214" | "215" | "216" | "217" | "218" | "219" | "220" | "221" | "222" | "223" | "224" | "225" | "226" | "227" | "228" | "229" | "230" | "231" | "232" | "233" | "234" | "235" | "236" | "237" | "238" | "239" | "240" | "241" | "242" | "243" | "244" | "245" | "246" | "247" | "248" | "249" | "250" | "251" | "252" | "253" | "254" | "255" | "256" | "257" | "258" | "259" | "260" | "261" | "262" | "263" | "264" | "265" | "266" | "267" | "268" | "269" | "270" | "271" | "272" | "273" | "274" | "275" | "276" | "277" | "278" | "279" | "280" | "281" | "282" | "283" | "284" | "285" | "286" | "287" | "288" | "289" | "290" | "291" | "292" | "293" | "294" | "295" | "296" | "297" | "298" | "299" | "300" | "301" | "302" | "303" | "304" | "305" | "306" | "307" | "308" | "309" | "310" | "311" | "312" | "313" | "314" | "315" | "316" | "317" | "318" | "319" | "320" | "321" | "322" | "323" | "324" | "325" | "326" | "327" | "328" | "329" | "330" | "331" | "332" | "333" | "334" | "335" | "336" | "337" | "338" | "339" | "340" | "341" | "342" | "343" | "344" | "345" | "346" | "347" | "348" | "349" | "350" | "351" | "352" | "353" | "354" | "355" | "356" | "357" | "358" | "359" | "360" | "361" | "362" | "363" | "364" | "365" | "366" | "367" | "368" | "369" | "370" | "371" | "372" | "373" | "374" | "375" | "376" | "377" | "378" | "379" | "380" | "381" | "382" | "383" | "384" | "385" | "386" | "387" | "388" | "389" | "390" | "391" | "392" | "393" | "394" | "395" | "396" | "397" | "398" | "399" | "400" | "401" | "402" | "403" | "404" | "405" | "406" | "407" | "408" | "409" | "410" | "411" | "412" | "413" | "414" | "415" | "416" | "417" | "418" | "419" | "420" | "421" | "422" | "423" | "424" | "425" | "426" | "427" | "428" | "429" | "430" | "431" | "432" | "433" | "434" | "435" | "436" | "437" | "438" | "439" | "440" | "441" | "442" | "443" | "444" | "445" | "446" | "447" | "448" | "449" | "450" | "451" | "452" | "453" | "454" | "455" | "456" | "457" | "458" | "459" | "460" | "461" | "462" | "463" | "464" | "465" | "466" | "467" | "468" | "469" | "470" | "481" | "482" | "483" | "484" | "485" | "486" | "487" | "488" | "489" | "490" | "491" | "493" | "494" | "495" | "496" | "497" | "498" | "499" | "520" | "521" | "522" | "523" | "524" | "525" | "526" | "527" | "528" | "529" | "530" | "531" | "532" | "533" | "534" | "535" | "536" | "537" | "538" | "539" | "550" | "551" | "552" | "553" | "554" | "575" | "576" | "577" | "578" | "579" | "580" | "581" | "582" | "583" | "584" | "585" | "586" | "587" | "588" | "589" | "610" | "621" | "622" | "623" | "624" | "625" | "626" | "627" | "628" | "629" | "630" | "631" | "632" | "633" | "634" | "635" | "636" | "637" | "638" | "639" | "640" | "641" | "642" | "643" | "644" | "645" | "646" | "647" | "648" | "649" | "650" | "651" | "652" | "653" | "654" | "655" | "656" | "657" | "658" | "659" | "700" | "701" | "702" | "703" | "704" | "705" | "706" | "707" | "708" | "709" | "710" | "711" | "712" | "713" | "714" | "715" | "716" | "717" | "718" | "719" | "720" | "721" | "722" | "723" | "724" | "725" | "726" | "727" | "728" | "729" | "730" | "731" | "732" | "733" | "734" | "735" | "736" | "737" | "738" | "739" | "740" | "741" | "742" | "743" | "744" | "745" | "746" | "747" | "748" | "749" | "750" | "751" | "752" | "753" | "754" | "755" | "756" | "757" | "758" | "759" | "760" | "761" | "762" | "763" | "764" | "765" | "766" | "767" | "768" | "769" | "770" | "771" | "772" | "773" | "774" | "775" | "776" | "777" | "778" | "779" | "780" | "781" | "782" | "783" | "784" | "785" | "786" | "787" | "788" | "789" | "790" | "791" | "792" | "793" | "794" | "795" | "796" | "797" | "798" | "799" | "810" | "811" | "812" | "813" | "814" | "815" | "816" | "817" | "818" | "819" | "820" | "821" | "822" | "823" | "824" | "825" | "826" | "827" | "828" | "829" | "830" | "831" | "832" | "833" | "834" | "835" | "836" | "837" | "838" | "839" | "840" | "841" | "842" | "843" | "844" | "845" | "846" | "847" | "848" | "849" | "850" | "851" | "852" | "853" | "854" | "855" | "856" | "857" | "858" | "859" | "860" | "861" | "862" | "863" | "864" | "865" | "866" | "867" | "868" | "869" | "870" | "871" | "872" | "873" | "874" | "875" | "876" | "877" | "878" | "879" | "890" | "891" | "892" | "893" | "894" | "895" | "896" | "897" | "898" | "899" | "900" | "901" | "902" | "903" | "904" | "910" | "911" | "913" | "914" | "915" | "916" | "917" | "925" | "926" | "927" | "929" | "930" | "931" | "932" | "933" | "934" | "935" | "936" | "937" | "938" | "940" | "941" | "950" | "951" | "952" | "953" | "954" | "955" | "960" | "961" | "962" | "963" | "964" | "965" | "966" | "970" | "971" | "972" | "974" | "975" | "976" | "977" | "978" | "979" | "990" | "991" | "995" | "996" | "998")[];
                description: string;
                xpath: string;
            };
            issueDate: {
                key: string;
                type: "date";
                description: string;
                xpath: string;
                additionalXml: {
                    "/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString/@format": string;
                };
                transform: {
                    input: (date: unknown) => string | undefined;
                };
            };
            transaction: {
                key: string;
                type: "object";
                description: string;
                required: false;
                shape: {
                    tradeAgreement: {
                        key: string;
                        type: "object";
                        description: string;
                        required: false;
                        shape: {
                            buyerReference: {
                                key: string;
                                type: "string";
                                description: string;
                                required: false;
                                xpath: string;
                            };
                            seller: {
                                key: string;
                                type: "object";
                                description: string;
                                shape: {
                                    name: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                    };
                                    organization: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            registrationIdentifier: {
                                                key: string;
                                                type: "object";
                                                description: string;
                                                required: false;
                                                shape: {
                                                    value: {
                                                        type: "string";
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                    schemeIdentifier: {
                                                        type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                    postalAddress: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        shape: {
                                            countryCode: {
                                                key: string;
                                                type: ("AD" | "AE" | "AF" | "AL" | "DZ" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "AX" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "KH" | "CM" | "CA" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CD" | "CG" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TM" | "TC" | "TV" | "TR" | "UG" | "UA" | "GB" | "UM" | "US" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW")[];
                                                description: string;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    taxRegistration: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            vatIdentifier: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                                additionalXml: {
                                                    "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration[0]/ram:ID/@schemeID": string;
                                                };
                                            };
                                            localIdentifier: {
                                                key: string;
                                                type: "string";
                                                required: false;
                                                description: string;
                                                xpath: string;
                                                additionalXml: {
                                                    "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration[1]/ram:ID/@schemeID": string;
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                            buyer: {
                                key: string;
                                type: "object";
                                description: string;
                                shape: {
                                    name: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                    };
                                    organization: {
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            registrationIdentifier: {
                                                type: "object";
                                                description: string;
                                                required: false;
                                                shape: {
                                                    value: {
                                                        type: "string";
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                    schemeIdentifier: {
                                                        type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                            associatedOrder: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    purchaseOrderReference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                        };
                    };
                    tradeDelivery: {
                        key: string;
                        type: "object";
                        description: string;
                        xpath: string;
                        defaultValue: never[];
                        required: false;
                        shape: {};
                    };
                    tradeSettlement: {
                        key: string;
                        type: "object";
                        description: string;
                        shape: {
                            currencyCode: {
                                key: string;
                                type: ("AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL")[];
                                description: string;
                                xpath: string;
                            };
                            monetarySummation: {
                                key: string;
                                type: "object";
                                description: string;
                                shape: {
                                    taxBasisTotalAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        xpath: string;
                                    };
                                    taxTotal: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        shape: {
                                            amount: {
                                                type: "string | number";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            currencyCode: {
                                                type: ("AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL")[];
                                                description: string;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    grandTotalAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        xpath: string;
                                    };
                                    duePayableAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        xpath: string;
                                    };
                                };
                            };
                            vatBreakdown: {
                                key: string;
                                type: "object[]";
                                group: "vat-breakdown";
                                description: string;
                                required: false;
                                validator: zod.ZodOptional<zod.ZodArray<zod.ZodAny, "many">>;
                                shape: {
                                    calculatedAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        xpath: string;
                                    };
                                    typeCode: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                    };
                                    exemptionReasonText: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    basisAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        xpath: string;
                                    };
                                    categoryCode: {
                                        key: string;
                                        type: ("B" | "F" | "S" | "A" | "AA" | "AB" | "AC" | "AD" | "AE" | "C" | "D" | "E" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "O" | "Z")[];
                                        description: string;
                                        xpath: string;
                                    };
                                    exemptionReasonCode: {
                                        key: string;
                                        type: ("vatex-eu-132" | "vatex-eu-132-1a" | "vatex-eu-132-1b" | "vatex-eu-132-1c" | "vatex-eu-132-1d" | "vatex-eu-132-1e" | "vatex-eu-132-1f" | "vatex-eu-132-1g" | "vatex-eu-132-1h" | "vatex-eu-132-1i" | "vatex-eu-132-1j" | "vatex-eu-132-1k" | "vatex-eu-132-1l" | "vatex-eu-132-1m" | "vatex-eu-132-1n" | "vatex-eu-132-1o" | "vatex-eu-132-1p" | "vatex-eu-132-1q" | "vatex-eu-143" | "vatex-eu-143-1a" | "vatex-eu-143-1b" | "vatex-eu-143-1c" | "vatex-eu-143-1d" | "vatex-eu-143-1e" | "vatex-eu-143-1f" | "vatex-eu-143-1fa" | "vatex-eu-143-1g" | "vatex-eu-143-1h" | "vatex-eu-143-1i" | "vatex-eu-143-1j" | "vatex-eu-143-1k" | "vatex-eu-143-1l" | "vatex-eu-148" | "vatex-eu-148-a" | "vatex-eu-148-b" | "vatex-eu-148-c" | "vatex-eu-148-d" | "vatex-eu-148-e" | "vatex-eu-148-f" | "vatex-eu-148-g" | "vatex-eu-151" | "vatex-eu-151-1a" | "vatex-eu-151-1aa" | "vatex-eu-151-1b" | "vatex-eu-151-1c" | "vatex-eu-151-1d" | "vatex-eu-151-1e" | "vatex-eu-309" | "vatex-eu-ae" | "vatex-eu-d" | "vatex-eu-f" | "vatex-eu-g" | "vatex-eu-i" | "vatex-eu-ic" | "vatex-eu-j" | "vatex-eu-o")[];
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    dueDateTypeCode: {
                                        key: string;
                                        type: string[];
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    rateApplicablePercent: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                            invoicingPeriod: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    startDate: {
                                        key: string;
                                        type: "date";
                                        description: string;
                                        required: false;
                                        transform: {
                                            input: (date: unknown) => string | undefined;
                                        };
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString/@format": string;
                                        };
                                    };
                                    endDate: {
                                        key: string;
                                        type: "date";
                                        description: string;
                                        required: false;
                                        transform: {
                                            input: (date: unknown) => string | undefined;
                                        };
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString/@format": string;
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };
        };
        mask: {
            readonly businessProcessType: "BT-23";
            readonly specificationIdentifier: "BT-24";
            readonly number: "BT-1";
            readonly typeCode: "BT-3";
            readonly issueDate: "BT-2";
            readonly transaction: readonly ["BG-25-00", {
                readonly tradeAgreement: readonly ["BT-10-00", {
                    readonly buyerReference: "BT-10";
                    readonly seller: readonly ["BG-4", {
                        readonly name: "BT-27";
                        readonly organization: readonly ["BT-30-00", {
                            readonly registrationIdentifier: "BT-30";
                        }];
                        readonly postalAddress: readonly ["BG-5", {
                            readonly countryCode: "BT-40";
                        }];
                        readonly taxRegistration: readonly ["seller-tax-registration", {
                            readonly vatIdentifier: "BT-31";
                            readonly localIdentifier: "BT-32";
                        }];
                    }];
                    readonly buyer: readonly ["BG-7", {
                        readonly name: "BT-44";
                        readonly organization: readonly ["BT-47-00", {
                            readonly registrationIdentifier: "BT-47";
                        }];
                    }];
                    readonly associatedOrder: readonly ["BT-13-00", {
                        readonly purchaseOrderReference: "BT-13";
                    }];
                }];
                readonly tradeDelivery: "BG-13-00";
                readonly tradeSettlement: readonly ["BG-19", {
                    readonly currencyCode: "BT-5";
                    readonly monetarySummation: readonly ["BG-22", {
                        readonly taxBasisTotalAmount: "BT-109";
                        readonly taxTotal: "BT-110";
                        readonly grandTotalAmount: "BT-112";
                        readonly duePayableAmount: "BT-115";
                    }];
                }];
            }];
        };
        xsdPath: () => string;
        conformanceLevel: string;
        documentFileName: string;
        documentType: "INVOICE";
        version: string;
    } & {
        parse: (ctx: {
            context: BaseZugferdContext;
            data: InferSchema<Profile>;
        }) => any;
        validate: (data: string | Buffer<ArrayBufferLike> | {
            file: string;
        }) => Promise<boolean>;
    }) | ({
        id: "basic-wl";
        contextParameter: string;
        extends: ({
            id: "minimum";
            contextParameter: string;
            schema: {
                businessProcessType: {
                    key: string;
                    type: "string";
                    required: false;
                    description: string;
                    xpath: string;
                };
                specificationIdentifier: {
                    key: string;
                    type: "string";
                    required: false;
                    defaultValue: string;
                    description: string;
                    xpath: string;
                };
                number: {
                    key: string;
                    type: "string";
                    description: string;
                    xpath: string;
                };
                typeCode: {
                    key: string;
                    type: ("3" | "1" | "2" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40" | "41" | "42" | "43" | "44" | "45" | "46" | "47" | "48" | "49" | "50" | "51" | "52" | "53" | "54" | "55" | "56" | "57" | "58" | "59" | "60" | "61" | "62" | "63" | "64" | "65" | "66" | "67" | "68" | "69" | "70" | "71" | "72" | "73" | "74" | "75" | "76" | "77" | "78" | "79" | "80" | "81" | "82" | "83" | "84" | "85" | "86" | "87" | "88" | "89" | "90" | "91" | "92" | "93" | "94" | "95" | "96" | "97" | "98" | "99" | "100" | "101" | "102" | "103" | "104" | "105" | "106" | "107" | "108" | "109" | "110" | "111" | "112" | "113" | "114" | "115" | "116" | "117" | "118" | "119" | "120" | "121" | "122" | "123" | "124" | "125" | "126" | "127" | "128" | "129" | "130" | "131" | "132" | "133" | "134" | "135" | "136" | "137" | "138" | "139" | "140" | "141" | "142" | "143" | "144" | "145" | "146" | "147" | "148" | "149" | "150" | "151" | "152" | "153" | "154" | "155" | "156" | "157" | "158" | "159" | "160" | "161" | "162" | "163" | "164" | "165" | "166" | "167" | "168" | "169" | "170" | "171" | "172" | "173" | "174" | "175" | "176" | "177" | "178" | "179" | "180" | "181" | "182" | "183" | "184" | "185" | "186" | "187" | "188" | "189" | "190" | "191" | "192" | "193" | "194" | "195" | "196" | "197" | "198" | "199" | "200" | "201" | "202" | "203" | "204" | "205" | "206" | "207" | "208" | "209" | "210" | "211" | "212" | "213" | "214" | "215" | "216" | "217" | "218" | "219" | "220" | "221" | "222" | "223" | "224" | "225" | "226" | "227" | "228" | "229" | "230" | "231" | "232" | "233" | "234" | "235" | "236" | "237" | "238" | "239" | "240" | "241" | "242" | "243" | "244" | "245" | "246" | "247" | "248" | "249" | "250" | "251" | "252" | "253" | "254" | "255" | "256" | "257" | "258" | "259" | "260" | "261" | "262" | "263" | "264" | "265" | "266" | "267" | "268" | "269" | "270" | "271" | "272" | "273" | "274" | "275" | "276" | "277" | "278" | "279" | "280" | "281" | "282" | "283" | "284" | "285" | "286" | "287" | "288" | "289" | "290" | "291" | "292" | "293" | "294" | "295" | "296" | "297" | "298" | "299" | "300" | "301" | "302" | "303" | "304" | "305" | "306" | "307" | "308" | "309" | "310" | "311" | "312" | "313" | "314" | "315" | "316" | "317" | "318" | "319" | "320" | "321" | "322" | "323" | "324" | "325" | "326" | "327" | "328" | "329" | "330" | "331" | "332" | "333" | "334" | "335" | "336" | "337" | "338" | "339" | "340" | "341" | "342" | "343" | "344" | "345" | "346" | "347" | "348" | "349" | "350" | "351" | "352" | "353" | "354" | "355" | "356" | "357" | "358" | "359" | "360" | "361" | "362" | "363" | "364" | "365" | "366" | "367" | "368" | "369" | "370" | "371" | "372" | "373" | "374" | "375" | "376" | "377" | "378" | "379" | "380" | "381" | "382" | "383" | "384" | "385" | "386" | "387" | "388" | "389" | "390" | "391" | "392" | "393" | "394" | "395" | "396" | "397" | "398" | "399" | "400" | "401" | "402" | "403" | "404" | "405" | "406" | "407" | "408" | "409" | "410" | "411" | "412" | "413" | "414" | "415" | "416" | "417" | "418" | "419" | "420" | "421" | "422" | "423" | "424" | "425" | "426" | "427" | "428" | "429" | "430" | "431" | "432" | "433" | "434" | "435" | "436" | "437" | "438" | "439" | "440" | "441" | "442" | "443" | "444" | "445" | "446" | "447" | "448" | "449" | "450" | "451" | "452" | "453" | "454" | "455" | "456" | "457" | "458" | "459" | "460" | "461" | "462" | "463" | "464" | "465" | "466" | "467" | "468" | "469" | "470" | "481" | "482" | "483" | "484" | "485" | "486" | "487" | "488" | "489" | "490" | "491" | "493" | "494" | "495" | "496" | "497" | "498" | "499" | "520" | "521" | "522" | "523" | "524" | "525" | "526" | "527" | "528" | "529" | "530" | "531" | "532" | "533" | "534" | "535" | "536" | "537" | "538" | "539" | "550" | "551" | "552" | "553" | "554" | "575" | "576" | "577" | "578" | "579" | "580" | "581" | "582" | "583" | "584" | "585" | "586" | "587" | "588" | "589" | "610" | "621" | "622" | "623" | "624" | "625" | "626" | "627" | "628" | "629" | "630" | "631" | "632" | "633" | "634" | "635" | "636" | "637" | "638" | "639" | "640" | "641" | "642" | "643" | "644" | "645" | "646" | "647" | "648" | "649" | "650" | "651" | "652" | "653" | "654" | "655" | "656" | "657" | "658" | "659" | "700" | "701" | "702" | "703" | "704" | "705" | "706" | "707" | "708" | "709" | "710" | "711" | "712" | "713" | "714" | "715" | "716" | "717" | "718" | "719" | "720" | "721" | "722" | "723" | "724" | "725" | "726" | "727" | "728" | "729" | "730" | "731" | "732" | "733" | "734" | "735" | "736" | "737" | "738" | "739" | "740" | "741" | "742" | "743" | "744" | "745" | "746" | "747" | "748" | "749" | "750" | "751" | "752" | "753" | "754" | "755" | "756" | "757" | "758" | "759" | "760" | "761" | "762" | "763" | "764" | "765" | "766" | "767" | "768" | "769" | "770" | "771" | "772" | "773" | "774" | "775" | "776" | "777" | "778" | "779" | "780" | "781" | "782" | "783" | "784" | "785" | "786" | "787" | "788" | "789" | "790" | "791" | "792" | "793" | "794" | "795" | "796" | "797" | "798" | "799" | "810" | "811" | "812" | "813" | "814" | "815" | "816" | "817" | "818" | "819" | "820" | "821" | "822" | "823" | "824" | "825" | "826" | "827" | "828" | "829" | "830" | "831" | "832" | "833" | "834" | "835" | "836" | "837" | "838" | "839" | "840" | "841" | "842" | "843" | "844" | "845" | "846" | "847" | "848" | "849" | "850" | "851" | "852" | "853" | "854" | "855" | "856" | "857" | "858" | "859" | "860" | "861" | "862" | "863" | "864" | "865" | "866" | "867" | "868" | "869" | "870" | "871" | "872" | "873" | "874" | "875" | "876" | "877" | "878" | "879" | "890" | "891" | "892" | "893" | "894" | "895" | "896" | "897" | "898" | "899" | "900" | "901" | "902" | "903" | "904" | "910" | "911" | "913" | "914" | "915" | "916" | "917" | "925" | "926" | "927" | "929" | "930" | "931" | "932" | "933" | "934" | "935" | "936" | "937" | "938" | "940" | "941" | "950" | "951" | "952" | "953" | "954" | "955" | "960" | "961" | "962" | "963" | "964" | "965" | "966" | "970" | "971" | "972" | "974" | "975" | "976" | "977" | "978" | "979" | "990" | "991" | "995" | "996" | "998")[];
                    description: string;
                    xpath: string;
                };
                issueDate: {
                    key: string;
                    type: "date";
                    description: string;
                    xpath: string;
                    additionalXml: {
                        "/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString/@format": string;
                    };
                    transform: {
                        input: (date: unknown) => string | undefined;
                    };
                };
                transaction: {
                    key: string;
                    type: "object";
                    description: string;
                    required: false;
                    shape: {
                        tradeAgreement: {
                            key: string;
                            type: "object";
                            description: string;
                            required: false;
                            shape: {
                                buyerReference: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                seller: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        organization: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                registrationIdentifier: {
                                                    key: string;
                                                    type: "object";
                                                    description: string;
                                                    required: false;
                                                    shape: {
                                                        value: {
                                                            type: "string";
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                        schemeIdentifier: {
                                                            type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                    };
                                                };
                                            };
                                        };
                                        postalAddress: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            shape: {
                                                countryCode: {
                                                    key: string;
                                                    type: ("AD" | "AE" | "AF" | "AL" | "DZ" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "AX" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "KH" | "CM" | "CA" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CD" | "CG" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TM" | "TC" | "TV" | "TR" | "UG" | "UA" | "GB" | "UM" | "US" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW")[];
                                                    description: string;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                        taxRegistration: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                vatIdentifier: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration[0]/ram:ID/@schemeID": string;
                                                    };
                                                };
                                                localIdentifier: {
                                                    key: string;
                                                    type: "string";
                                                    required: false;
                                                    description: string;
                                                    xpath: string;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration[1]/ram:ID/@schemeID": string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                                buyer: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        organization: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                registrationIdentifier: {
                                                    type: "object";
                                                    description: string;
                                                    required: false;
                                                    shape: {
                                                        value: {
                                                            type: "string";
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                        schemeIdentifier: {
                                                            type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                                associatedOrder: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        purchaseOrderReference: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                        tradeDelivery: {
                            key: string;
                            type: "object";
                            description: string;
                            xpath: string;
                            defaultValue: never[];
                            required: false;
                            shape: {};
                        };
                        tradeSettlement: {
                            key: string;
                            type: "object";
                            description: string;
                            shape: {
                                currencyCode: {
                                    key: string;
                                    type: ("AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL")[];
                                    description: string;
                                    xpath: string;
                                };
                                monetarySummation: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    shape: {
                                        taxBasisTotalAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        taxTotal: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            shape: {
                                                amount: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                currencyCode: {
                                                    type: ("AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL")[];
                                                    description: string;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                        grandTotalAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        duePayableAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                    };
                                };
                                vatBreakdown: {
                                    key: string;
                                    type: "object[]";
                                    group: "vat-breakdown";
                                    description: string;
                                    required: false;
                                    validator: zod.ZodOptional<zod.ZodArray<zod.ZodAny, "many">>;
                                    shape: {
                                        calculatedAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        exemptionReasonText: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        basisAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        categoryCode: {
                                            key: string;
                                            type: ("B" | "F" | "S" | "A" | "AA" | "AB" | "AC" | "AD" | "AE" | "C" | "D" | "E" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "O" | "Z")[];
                                            description: string;
                                            xpath: string;
                                        };
                                        exemptionReasonCode: {
                                            key: string;
                                            type: ("vatex-eu-132" | "vatex-eu-132-1a" | "vatex-eu-132-1b" | "vatex-eu-132-1c" | "vatex-eu-132-1d" | "vatex-eu-132-1e" | "vatex-eu-132-1f" | "vatex-eu-132-1g" | "vatex-eu-132-1h" | "vatex-eu-132-1i" | "vatex-eu-132-1j" | "vatex-eu-132-1k" | "vatex-eu-132-1l" | "vatex-eu-132-1m" | "vatex-eu-132-1n" | "vatex-eu-132-1o" | "vatex-eu-132-1p" | "vatex-eu-132-1q" | "vatex-eu-143" | "vatex-eu-143-1a" | "vatex-eu-143-1b" | "vatex-eu-143-1c" | "vatex-eu-143-1d" | "vatex-eu-143-1e" | "vatex-eu-143-1f" | "vatex-eu-143-1fa" | "vatex-eu-143-1g" | "vatex-eu-143-1h" | "vatex-eu-143-1i" | "vatex-eu-143-1j" | "vatex-eu-143-1k" | "vatex-eu-143-1l" | "vatex-eu-148" | "vatex-eu-148-a" | "vatex-eu-148-b" | "vatex-eu-148-c" | "vatex-eu-148-d" | "vatex-eu-148-e" | "vatex-eu-148-f" | "vatex-eu-148-g" | "vatex-eu-151" | "vatex-eu-151-1a" | "vatex-eu-151-1aa" | "vatex-eu-151-1b" | "vatex-eu-151-1c" | "vatex-eu-151-1d" | "vatex-eu-151-1e" | "vatex-eu-309" | "vatex-eu-ae" | "vatex-eu-d" | "vatex-eu-f" | "vatex-eu-g" | "vatex-eu-i" | "vatex-eu-ic" | "vatex-eu-j" | "vatex-eu-o")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        dueDateTypeCode: {
                                            key: string;
                                            type: string[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        rateApplicablePercent: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                invoicingPeriod: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        startDate: {
                                            key: string;
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString/@format": string;
                                            };
                                        };
                                        endDate: {
                                            key: string;
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };
            mask: {
                readonly businessProcessType: "BT-23";
                readonly specificationIdentifier: "BT-24";
                readonly number: "BT-1";
                readonly typeCode: "BT-3";
                readonly issueDate: "BT-2";
                readonly transaction: readonly ["BG-25-00", {
                    readonly tradeAgreement: readonly ["BT-10-00", {
                        readonly buyerReference: "BT-10";
                        readonly seller: readonly ["BG-4", {
                            readonly name: "BT-27";
                            readonly organization: readonly ["BT-30-00", {
                                readonly registrationIdentifier: "BT-30";
                            }];
                            readonly postalAddress: readonly ["BG-5", {
                                readonly countryCode: "BT-40";
                            }];
                            readonly taxRegistration: readonly ["seller-tax-registration", {
                                readonly vatIdentifier: "BT-31";
                                readonly localIdentifier: "BT-32";
                            }];
                        }];
                        readonly buyer: readonly ["BG-7", {
                            readonly name: "BT-44";
                            readonly organization: readonly ["BT-47-00", {
                                readonly registrationIdentifier: "BT-47";
                            }];
                        }];
                        readonly associatedOrder: readonly ["BT-13-00", {
                            readonly purchaseOrderReference: "BT-13";
                        }];
                    }];
                    readonly tradeDelivery: "BG-13-00";
                    readonly tradeSettlement: readonly ["BG-19", {
                        readonly currencyCode: "BT-5";
                        readonly monetarySummation: readonly ["BG-22", {
                            readonly taxBasisTotalAmount: "BT-109";
                            readonly taxTotal: "BT-110";
                            readonly grandTotalAmount: "BT-112";
                            readonly duePayableAmount: "BT-115";
                        }];
                    }];
                }];
            };
            xsdPath: () => string;
            conformanceLevel: string;
            documentFileName: string;
            documentType: "INVOICE";
            version: string;
        } & {
            parse: (ctx: {
                context: BaseZugferdContext;
                data: InferSchema<Profile>;
            }) => any;
            validate: (data: string | Buffer<ArrayBufferLike> | {
                file: string;
            }) => Promise<boolean>;
        })[];
        schema: {
            specificationIdentifier: {
                type: "string";
                required: false;
                defaultValue: string;
            };
            includedNote: {
                key: string;
                type: "object[]";
                description: string;
                required: false;
                group: "notes";
                shape: {
                    content: {
                        key: string;
                        type: "string";
                        description: string;
                        xpath: string;
                    };
                    subjectCode: {
                        key: string;
                        type: ("AED" | "AFN" | "ALL" | "ARS" | "BAM" | "BMD" | "CLP" | "EUR" | "AFG" | "AGO" | "AIA" | "ABW" | "AUT" | "BLR" | "BLZ" | "CCK" | "IND" | "MCO" | "PRI" | "BLM" | "SUR" | "TCA" | "ZZZ" | "AAA" | "AAC" | "AAD" | "AAE" | "AAF" | "AAI" | "AAS" | "AAT" | "AAV" | "AAY" | "AAZ" | "ABA" | "ABB" | "ABC" | "ABD" | "ABF" | "ABK" | "ABL" | "ABN" | "ABR" | "ABS" | "ABT" | "ABU" | "ACF" | "ACG" | "ACH" | "ACI" | "ACJ" | "ACK" | "ACL" | "ACM" | "ACS" | "ADC" | "ADE" | "ADJ" | "ADK" | "ADL" | "ADM" | "ADN" | "ADO" | "ADP" | "ADQ" | "ADR" | "ADT" | "ADW" | "ADY" | "ADZ" | "AEA" | "AEB" | "AEC" | "AEF" | "AEH" | "AEI" | "AEJ" | "AEK" | "AEL" | "AEM" | "AEN" | "AEO" | "AEP" | "AES" | "AET" | "AEU" | "AEV" | "AEW" | "AEX" | "AEY" | "AEZ" | "AAB" | "AAG" | "AAJ" | "AAK" | "AAL" | "AAM" | "AAN" | "AAO" | "AAP" | "AAQ" | "AAR" | "AAU" | "AAW" | "AAX" | "ABE" | "ABG" | "ABH" | "ABI" | "ABJ" | "ABM" | "ABO" | "ABP" | "ABQ" | "ABV" | "ABX" | "ABZ" | "ACA" | "ACB" | "ACC" | "ACD" | "ACE" | "ACN" | "ACO" | "ACP" | "ACQ" | "ACR" | "ACT" | "ACU" | "ACV" | "ACW" | "ACX" | "ACY" | "ACZ" | "ADA" | "ADB" | "ADD" | "ADF" | "ADG" | "ADH" | "ADI" | "ADS" | "ADU" | "ADV" | "ADX" | "AEE" | "AEG" | "AEQ" | "AER" | "AFA" | "AFB" | "AFC" | "AFD" | "AFE" | "AFF" | "AFH" | "AFI" | "AFJ" | "AFK" | "AFL" | "AFM" | "AFO" | "AFP" | "AFQ" | "AFR" | "AFS" | "AFT" | "AFU" | "AFV" | "AFW" | "AFX" | "AFY" | "AFZ" | "AGA" | "AGB" | "AGC" | "AGD" | "AGE" | "AGF" | "AGG" | "AGH" | "AGI" | "AGJ" | "AGK" | "AGL" | "AGM" | "AGN" | "AGP" | "AGQ" | "AGR" | "AGS" | "AGT" | "AGU" | "AGV" | "AGW" | "AGX" | "AGY" | "AGZ" | "AHA" | "AHB" | "AHC" | "AHD" | "AHE" | "AHF" | "AHG" | "AHH" | "AHI" | "AHJ" | "AHK" | "AHL" | "AHM" | "AHN" | "AHO" | "AHP" | "AHQ" | "AHR" | "AHS" | "AHT" | "AHU" | "AHV" | "AHW" | "AHX" | "AHY" | "AHZ" | "AIB" | "AIC" | "AID" | "AIE" | "AIF" | "AIG" | "AIH" | "AII" | "AIJ" | "AIK" | "AIL" | "AIM" | "AIN" | "AIO" | "AIP" | "AIQ" | "AIR" | "AIS" | "AIT" | "AIU" | "AIV" | "AIW" | "AIX" | "AIY" | "AIZ" | "AJA" | "AJB" | "ALC" | "ALD" | "ALE" | "ALF" | "ALG" | "ALH" | "ALI" | "ALJ" | "ALK" | "ALM" | "ALN" | "ALO" | "ALP" | "ALQ" | "ARR" | "AUU" | "AUV" | "AUW" | "AUX" | "AUY" | "AUZ" | "AVA" | "AVB" | "AVC" | "AVD" | "AVE" | "AVF" | "BAG" | "BAH" | "BAI" | "BAJ" | "BAK" | "BAL" | "BAN" | "BAO" | "BAP" | "BAQ" | "BAR" | "BAS" | "BAT" | "BAU" | "BAV" | "BAW" | "BAX" | "BAY" | "BAZ" | "BBA" | "BBB" | "BLC" | "BLD" | "BLE" | "BLF" | "BLG" | "BLH" | "BLI" | "BLJ" | "BLK" | "BLL" | "BLN" | "BLO" | "BLP" | "BLQ" | "BLS" | "BLT" | "BLU" | "BLV" | "BLW" | "BLX" | "BLY" | "BMA" | "BMB" | "BMC" | "BME" | "BMF" | "BMG" | "BMH" | "CCI" | "CCJ" | "CCL" | "CCM" | "CCN" | "CCO" | "CEX" | "CHG" | "CIP" | "CLR" | "COI" | "CUR" | "CUS" | "DAR" | "DCL" | "DEL" | "DIN" | "DOC" | "DUT" | "FBC" | "GBL" | "GEN" | "GS7" | "HAN" | "HAZ" | "ICN" | "IIN" | "IMI" | "INS" | "INV" | "IRP" | "ITR" | "ITS" | "LAN" | "LIN" | "LOI" | "MDH" | "MKS" | "ORI" | "OSI" | "PAC" | "PAI" | "PAY" | "PKG" | "PKT" | "PMD" | "PMT" | "PRD" | "PRF" | "PUR" | "QIN" | "QQD" | "QUT" | "RAH" | "REG" | "RET" | "REV" | "RQR" | "SAF" | "SIC" | "SIN" | "SLR" | "SPA" | "SPG" | "SPH" | "SPP" | "SPT" | "SRN" | "SSR" | "TDT" | "TRA" | "TRR" | "TXD" | "WHI")[];
                        description: string;
                        required: false;
                        xpath: string;
                    };
                };
            };
            transaction: {
                key: string;
                type: "object";
                shape: {
                    tradeAgreement: {
                        key: string;
                        type: "object";
                        shape: {
                            associatedContract: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    reference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                            seller: {
                                type: "object";
                                shape: {
                                    identifier: {
                                        key: string;
                                        type: "string[]";
                                        description: string;
                                        required: false;
                                        group: "seller-id";
                                        xpath: string;
                                    };
                                    globalIdentifier: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            value: {
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            schemeIdentifier: {
                                                type: ("0021" | "0060" | "0088" | "0177")[];
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    organization: {
                                        type: "object";
                                        required: false;
                                        shape: {
                                            tradingName: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    postalAddress: {
                                        type: "object";
                                        shape: {
                                            postCode: {
                                                key: string;
                                                type: "string | number";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line1: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line2: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line3: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            city: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            countrySubdivision: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            electronicAddress: {
                                                key: string;
                                                type: "object";
                                                description: string;
                                                required: false;
                                                shape: {
                                                    value: {
                                                        type: "string";
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                    schemeIdentifier: {
                                                        type: ("0002" | "0007" | "0009" | "0037" | "0060" | "0088" | "0096" | "0097" | "0106" | "0130" | "0135" | "0142" | "0147" | "0151" | "0170" | "0183" | "0184" | "0188" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0215" | "0216" | "AS" | "AQ" | "AU" | "0217" | "0218" | "0221" | "0230" | "9901" | "9910" | "9913" | "9914" | "9915" | "9918" | "9919" | "9920" | "9922" | "9923" | "9924" | "9925" | "9926" | "9927" | "9928" | "9929" | "9930" | "9931" | "9932" | "9933" | "9934" | "9935" | "9936" | "9937" | "9938" | "9939" | "9940" | "9941" | "9942" | "9943" | "9944" | "9945" | "9946" | "9947" | "9948" | "9949" | "9950" | "9951" | "9952" | "9953" | "9957" | "9959" | "AN" | "EM")[];
                                                        description: string;
                                                        xpath: string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                            sellerTaxRepresentative: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    name: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                    };
                                    postalAddress: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        shape: {
                                            postCode: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line1: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line2: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line3: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            city: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            countryCode: {
                                                key: string;
                                                type: ("AD" | "AE" | "AF" | "AL" | "DZ" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "AX" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "KH" | "CM" | "CA" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CD" | "CG" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TM" | "TC" | "TV" | "TR" | "UG" | "UA" | "GB" | "UM" | "US" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW")[];
                                                description: string;
                                                xpath: string;
                                            };
                                            countrySubdivision: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    taxRegistration: {
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            vatIdentifier: {
                                                type: "string";
                                                description: string;
                                                xpath: string;
                                                additionalXml: {
                                                    "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration[0]/ram:ID/@schemeID": string;
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                            buyer: {
                                type: "object";
                                shape: {
                                    identifier: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    globalIdentifier: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            value: {
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            schemeIdentifier: {
                                                type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    postalAddress: {
                                        key: string;
                                        type: "object";
                                        shape: {
                                            postCode: {
                                                key: string;
                                                type: "string | number";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line1: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line2: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line3: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            city: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            countryCode: {
                                                key: string;
                                                type: ("AD" | "AE" | "AF" | "AL" | "DZ" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "AX" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "KH" | "CM" | "CA" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CD" | "CG" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TM" | "TC" | "TV" | "TR" | "UG" | "UA" | "GB" | "UM" | "US" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW")[];
                                                description: string;
                                                xpath: string;
                                            };
                                            countrySubdivision: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            electronicAddress: {
                                                key: string;
                                                type: "object";
                                                description: string;
                                                required: false;
                                                shape: {
                                                    value: {
                                                        type: "string";
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                    schemeIdentifier: {
                                                        type: ("0002" | "0007" | "0009" | "0037" | "0060" | "0088" | "0096" | "0097" | "0106" | "0130" | "0135" | "0142" | "0147" | "0151" | "0170" | "0183" | "0184" | "0188" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0215" | "0216" | "AS" | "AQ" | "AU" | "0217" | "0218" | "0221" | "0230" | "9901" | "9910" | "9913" | "9914" | "9915" | "9918" | "9919" | "9920" | "9922" | "9923" | "9924" | "9925" | "9926" | "9927" | "9928" | "9929" | "9930" | "9931" | "9932" | "9933" | "9934" | "9935" | "9936" | "9937" | "9938" | "9939" | "9940" | "9941" | "9942" | "9943" | "9944" | "9945" | "9946" | "9947" | "9948" | "9949" | "9950" | "9951" | "9952" | "9953" | "9957" | "9959" | "AN" | "EM")[];
                                                        description: string;
                                                        xpath: string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                    taxRegistration: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            vatIdentifier: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                                additionalXml: {
                                                    "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration[0]/ram:ID/@schemeID": string;
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                        };
                    };
                    tradeDelivery: {
                        key: string;
                        type: "object";
                        shape: {
                            shipTo: {
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    identifier: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    globalIdentifier: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            value: {
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            schemeIdentifier: {
                                                type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    name: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    postalAddress: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            postCode: {
                                                key: string;
                                                type: "string | number";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line1: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line2: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            line3: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            city: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            countryCode: {
                                                key: string;
                                                type: ("AD" | "AE" | "AF" | "AL" | "DZ" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "AX" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "KH" | "CM" | "CA" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CD" | "CG" | "CK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MK" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TM" | "TC" | "TV" | "TR" | "UG" | "UA" | "GB" | "UM" | "US" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW")[];
                                                description: string;
                                                xpath: string;
                                            };
                                            countrySubdivision: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                };
                            };
                            information: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    deliveryDate: {
                                        key: string;
                                        type: "date";
                                        description: string;
                                        xpath: string;
                                        transform: {
                                            input: (date: unknown) => string | undefined;
                                        };
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString/@format": string;
                                        };
                                    };
                                };
                            };
                            despatchAdvice: {
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    issuerAssignedID: {
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                        };
                    };
                    tradeSettlement: {
                        key: string;
                        type: "object";
                        shape: {
                            creditorIdentifier: {
                                key: string;
                                type: "string";
                                description: string;
                                required: false;
                                xpath: string;
                            };
                            remittanceInformation: {
                                key: string;
                                type: "string";
                                description: string;
                                required: false;
                                xpath: string;
                            };
                            vatAccountingCurrencyCode: {
                                key: string;
                                type: ("AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHE" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL")[];
                                description: string;
                                required: false;
                                xpath: string;
                            };
                            payee: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    identifier: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    globalIdentifier: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            value: {
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            schemeIdentifier: {
                                                type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    name: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                    };
                                    organization: {
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            registrationIdentifier: {
                                                key: string;
                                                type: "object";
                                                description: string;
                                                required: false;
                                                shape: {
                                                    value: {
                                                        type: "string";
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                    schemeIdentifier: {
                                                        type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                            paymentInstruction: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    typeCode: {
                                        key: string;
                                        type: ("3" | "1" | "2" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40" | "41" | "42" | "43" | "44" | "45" | "46" | "47" | "48" | "49" | "50" | "51" | "52" | "53" | "54" | "55" | "56" | "57" | "58" | "59" | "60" | "61" | "62" | "63" | "64" | "65" | "66" | "67" | "68" | "69" | "70" | "74" | "75" | "76" | "77" | "78" | "91" | "92" | "93" | "94" | "95" | "96" | "97" | "ZZZ")[];
                                        description: string;
                                        xpath: string;
                                    };
                                    debitedAccountIdentifier: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    transfers: {
                                        key: string;
                                        type: "object[]";
                                        required: false;
                                        description: string;
                                        group: "transfers";
                                        shape: {
                                            paymentAccountIdentifier: {
                                                key: string;
                                                type: "string";
                                                required: false;
                                                description: string;
                                                xpath: string;
                                            };
                                            nationalAccountNumber: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                };
                            };
                            allowances: {
                                key: string;
                                type: "object[]";
                                description: string;
                                required: false;
                                group: "allowances";
                                shape: {
                                    calculationPercent: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    basisAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    actualAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[allowances]/ram:ChargeIndicator/udt:Indicator": string;
                                        };
                                    };
                                    reasonCode: {
                                        key: string;
                                        type: ("3" | "1" | "2" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40" | "41" | "42" | "44" | "45" | "46" | "47" | "48" | "49" | "50" | "51" | "52" | "53" | "54" | "55" | "56" | "57" | "58" | "59" | "60" | "61" | "62" | "63" | "64" | "65" | "66" | "67" | "68" | "69" | "70" | "71" | "72" | "73" | "74" | "75" | "76" | "77" | "78" | "79" | "80" | "81" | "82" | "83" | "84" | "85" | "86" | "87" | "88" | "89" | "90" | "91" | "92" | "93" | "94" | "95" | "96" | "97" | "98" | "99" | "100" | "101" | "102" | "103" | "104" | "105" | "106")[];
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    reason: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    categoryTradeTax: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            categoryCode: {
                                                key: string;
                                                type: ("B" | "F" | "S" | "A" | "AA" | "AB" | "AC" | "AD" | "AE" | "C" | "D" | "E" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "O" | "Z")[];
                                                description: string;
                                                xpath: string;
                                            };
                                            vatRate: {
                                                key: string;
                                                type: "string | number";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[allowances]/ram:CategoryTradeTax/ram:TypeCode": string;
                                        };
                                    };
                                };
                            };
                            charges: {
                                key: string;
                                type: "object[]";
                                description: string;
                                group: "charges";
                                sibling: (data: any) => any;
                                required: false;
                                shape: {
                                    calculationPercent: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    basisAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    actualAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[charges]/ram:ChargeIndicator/udt:Indicator": string;
                                        };
                                    };
                                    reasonCode: {
                                        key: string;
                                        type: ("AA" | "AED" | "CAD" | "AU" | "CA" | "CAN" | "CAF" | "CD" | "CG" | "EG" | "ER" | "FI" | "IS" | "ID" | "IR" | "LA" | "ML" | "PA" | "PL" | "RE" | "SH" | "SM" | "SA" | "SG" | "TT" | "TV" | "ZZZ" | "FC" | "AAA" | "AAC" | "AAD" | "AAE" | "AAF" | "AAH" | "AAI" | "AAS" | "AAT" | "AAV" | "AAY" | "AAZ" | "ABA" | "ABB" | "ABC" | "ABD" | "ABF" | "ABK" | "ABL" | "ABN" | "ABR" | "ABS" | "ABT" | "ABU" | "ACF" | "ACG" | "ACH" | "ACI" | "ACJ" | "ACK" | "ACL" | "ACM" | "ACS" | "ADC" | "ADE" | "ADJ" | "ADK" | "ADL" | "ADM" | "ADN" | "ADO" | "ADP" | "ADQ" | "ADR" | "ADT" | "ADW" | "ADY" | "ADZ" | "AEA" | "AEB" | "AEC" | "AEF" | "AEH" | "AEI" | "AEJ" | "AEK" | "AEL" | "AEM" | "AEN" | "AEO" | "AEP" | "AES" | "AET" | "AEU" | "AEV" | "AEW" | "AEX" | "AEY" | "AEZ" | "AJ" | "CAB" | "CAE" | "CAI" | "CAJ" | "CAK" | "CAL" | "CAM" | "CAO" | "CAP" | "CAQ" | "CAR" | "CAS" | "CAT" | "CAU" | "CAV" | "CAW" | "CAX" | "CAY" | "CAZ" | "CS" | "CT" | "DAB" | "DAC" | "DAD" | "DAF" | "DAG" | "DAH" | "DAI" | "DAJ" | "DAK" | "DAL" | "DAM" | "DAN" | "DAO" | "DAP" | "DAQ" | "DL" | "EP" | "FAA" | "FAB" | "FAC" | "FH" | "GAA" | "HAA" | "HD" | "HH" | "IAA" | "IAB" | "IF" | "KO" | "L1" | "LAA" | "LAB" | "LF" | "MAE" | "MI" | "NAA" | "OA" | "PAA" | "PC" | "RAB" | "RAC" | "RAD" | "RAF" | "RF" | "RH" | "RV" | "SAA" | "SAD" | "SAE" | "SAI" | "SU" | "TAB" | "TAC" | "V1" | "V2" | "WH" | "XAA" | "YY")[];
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    reason: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    categoryTradeTax: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            categoryCode: {
                                                key: string;
                                                type: ("B" | "F" | "S" | "A" | "AA" | "AB" | "AC" | "AD" | "AE" | "C" | "D" | "E" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "O" | "Z")[];
                                                description: string;
                                                xpath: string;
                                            };
                                            vatRate: {
                                                key: string;
                                                type: "string | number";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[charges]/ram:CategoryTradeTax/ram:TypeCode": string;
                                        };
                                    };
                                };
                            };
                            paymentTerms: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    description: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    dueDate: {
                                        key: string;
                                        type: "date";
                                        description: string;
                                        required: false;
                                        transform: {
                                            input: (date: unknown) => string | undefined;
                                        };
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime/udt:DateTimeString/@format": string;
                                        };
                                    };
                                    mandateReferenceIdentifier: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                            monetarySummation: {
                                type: "object";
                                shape: {
                                    lineTotalAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        xpath: string;
                                    };
                                    chargeTotalAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    allowanceTotalAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    paidAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                            precendingInvoices: {
                                key: string;
                                type: "object[]";
                                description: string;
                                required: false;
                                group: "precending-invoices";
                                shape: {
                                    reference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                    };
                                    issueDate: {
                                        key: string;
                                        type: "date";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                        transform: {
                                            input: (date: unknown) => string | undefined;
                                        };
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument[precending-invoices]/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                        };
                                    };
                                };
                            };
                            buyerAccountant: {
                                key: string;
                                type: "object";
                                required: false;
                                shape: {
                                    reference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                        };
                    };
                };
            };
        };
        mask: {
            readonly businessProcessType: "BT-23";
            readonly specificationIdentifier: "BT-24";
            readonly number: "BT-1";
            readonly typeCode: "BT-3";
            readonly issueDate: "BT-2";
            readonly includedNote: "BG-1";
            readonly transaction: readonly ["BG-25-00", {
                readonly tradeAgreement: readonly ["BT-10-00", {
                    readonly buyerReference: "BT-10";
                    readonly seller: readonly ["BG-4", {
                        readonly identifier: "BT-29";
                        readonly globalIdentifier: "BT-29-0";
                        readonly name: "BT-27";
                        readonly organization: readonly ["BT-30-00", {
                            readonly registrationIdentifier: "BT-30";
                            readonly tradingName: "BT-28";
                        }];
                        readonly postalAddress: readonly ["BG-5", {
                            readonly postCode: "BT-38";
                            readonly line1: "BT-35";
                            readonly line2: "BT-36";
                            readonly line3: "BT-162";
                            readonly city: "BT-37";
                            readonly countryCode: "BT-40";
                            readonly countrySubdivision: "BT-39";
                            readonly electronicAddress: "BT-34";
                        }];
                        readonly taxRegistration: readonly ["seller-tax-registration", {
                            readonly vatIdentifier: "BT-31";
                            readonly localIdentifier: "BT-32";
                        }];
                    }];
                    readonly buyer: readonly ["BG-7", {
                        readonly identifier: "BT-46";
                        readonly globalIdentifier: "BT-46-00";
                        readonly name: "BT-44";
                        readonly organization: readonly ["BT-47-00", {
                            readonly registrationIdentifier: "BT-47";
                        }];
                        readonly postalAddress: readonly ["BG-8", {
                            readonly postCode: "BT-53";
                            readonly line1: "BT-50";
                            readonly line2: "BT-51";
                            readonly line3: "BT-163";
                            readonly city: "BT-52";
                            readonly countryCode: "BT-55";
                            readonly countrySubdivision: "BT-54";
                            readonly electronicAddress: "BT-49";
                        }];
                        readonly taxRegistration: readonly ["buyer-tax-registration", {
                            readonly vatIdentifier: "BT-48";
                        }];
                    }];
                    readonly sellerTaxRepresentative: readonly ["BG-11", {
                        readonly name: "BT-62";
                        readonly postalAddress: readonly ["BG-12", {
                            readonly postCode: "BT-67";
                            readonly line1: "BT-64";
                            readonly line2: "BT-65";
                            readonly line3: "BT-164";
                            readonly city: "BT-66";
                            readonly countryCode: "BT-69";
                            readonly countrySubdivision: "BT-68";
                        }];
                    }];
                    readonly associatedOrder: readonly ["BT-13-00", {
                        readonly purchaseOrderReference: "BT-13";
                    }];
                    readonly associatedContract: readonly ["BT-12-00", {
                        readonly reference: "BT-12";
                    }];
                }];
                readonly tradeDelivery: readonly ["BG-13-00", {
                    readonly shipTo: readonly ["BG-13", {
                        readonly identifier: "BT-71";
                        readonly globalIdentifier: "BT-71-00";
                        readonly name: "BT-70";
                        readonly postalAddress: readonly ["BG-15", {
                            readonly postCode: "BT-78";
                            readonly line1: "BT-75";
                            readonly line2: "BT-76";
                            readonly line3: "BT-165";
                            readonly city: "BT-77";
                            readonly countryCode: "BT-80";
                            readonly countrySubdivision: "BT-79";
                        }];
                    }];
                    readonly information: readonly ["BT-72-00", {
                        readonly deliveryDate: "BT-72";
                    }];
                    readonly despatchAdvice: readonly ["BT-16-00", {
                        readonly issuerAssignedID: "BT-16";
                    }];
                }];
                readonly tradeSettlement: readonly ["BG-19", {
                    readonly creditorIdentifier: "BT-90";
                    readonly remittanceInformation: "BT-83";
                    readonly vatAccountingCurrencyCode: "BT-6";
                    readonly currencyCode: "BT-5";
                    readonly payee: readonly ["BG-10", {
                        readonly identifier: "BT-60";
                        readonly globalIdentifier: "BT-60-0";
                        readonly name: "BT-59";
                        readonly organization: readonly ["BT-61-00", {
                            readonly registrationIdentifier: "BT-61";
                        }];
                    }];
                    readonly paymentInstruction: readonly ["BG-16", {
                        readonly typeCode: "BT-81";
                        readonly debitedAccountIdentifier: "BT-91";
                        readonly transfers: readonly ["BG-17", {
                            readonly paymentAccountIdentifier: "BT-84";
                            readonly nationalAccountNumber: "BT-84-0";
                        }];
                    }];
                    readonly vatBreakdown: readonly ["BG-23", {
                        readonly calculatedAmount: "BT-117";
                        readonly typeCode: "BT-118-0";
                        readonly exemptionReasonText: "BT-120";
                        readonly basisAmount: "BT-116";
                        readonly categoryCode: "BT-118";
                        readonly exemptionReasonCode: "BT-121";
                        readonly dueDateTypeCode: "BT-8";
                        readonly rateApplicablePercent: "BT-119";
                    }];
                    readonly invoicingPeriod: readonly ["BG-14", {
                        readonly startDate: "BT-73";
                        readonly endDate: "BT-74";
                    }];
                    readonly allowances: readonly ["BG-20", {
                        readonly calculationPercent: "BT-94";
                        readonly basisAmount: "BT-93";
                        readonly actualAmount: "BT-92";
                        readonly reasonCode: "BT-98";
                        readonly reason: "BT-97";
                        readonly categoryTradeTax: readonly ["BT-95-00", {
                            readonly categoryCode: "BT-95";
                            readonly vatRate: "BT-96";
                        }];
                    }];
                    readonly charges: readonly ["BG-21", {
                        readonly calculationPercent: "BT-101";
                        readonly basisAmount: "BT-100";
                        readonly actualAmount: "BT-99";
                        readonly reasonCode: "BT-105";
                        readonly reason: "BT-104";
                        readonly categoryTradeTax: readonly ["BT-102-00", {
                            readonly categoryCode: "BT-102";
                            readonly vatRate: "BT-103";
                        }];
                    }];
                    readonly paymentTerms: readonly ["BT-20-00", {
                        readonly description: "BT-20";
                        readonly dueDate: "BT-9";
                        readonly mandateReferenceIdentifier: "BT-89";
                    }];
                    readonly monetarySummation: readonly ["BG-22", {
                        readonly lineTotalAmount: "BT-106";
                        readonly chargeTotalAmount: "";
                        readonly allowanceTotalAmount: "";
                        readonly taxBasisTotalAmount: "BT-109";
                        readonly taxTotal: "BT-110";
                        readonly grandTotalAmount: "BT-112";
                        readonly paidAmount: "BT-113";
                        readonly duePayableAmount: "BT-115";
                    }];
                    readonly precendingInvoices: readonly ["BG-3", {
                        readonly reference: "BT-25";
                        readonly issueDate: "BT-26";
                    }];
                    readonly buyerAccountant: readonly ["BT-19-00", {
                        readonly reference: "BT-19";
                    }];
                }];
            }];
        };
        xsdPath: () => string;
        conformanceLevel: string;
        documentFileName: string;
        documentType: "INVOICE";
        version: string;
    } & {
        parse: (ctx: {
            context: BaseZugferdContext;
            data: InferSchema<Profile>;
        }) => any;
        validate: (data: string | Buffer<ArrayBufferLike> | {
            file: string;
        }) => Promise<boolean>;
    }))[];
    schema: {
        specificationIdentifier: {
            type: "string";
            required: false;
            defaultValue: string;
        };
        transaction: {
            type: "object";
            required: false;
            shape: {
                line: {
                    key: string;
                    type: "object[]";
                    description: string;
                    validator: zod.ZodArray<zod.ZodAny, "many">;
                    group: "line";
                    shape: {
                        identifier: {
                            key: string;
                            type: "string";
                            description: string;
                            required: false;
                            xpath: string;
                        };
                        note: {
                            key: string;
                            type: "string";
                            description: string;
                            required: false;
                            xpath: string;
                        };
                        tradeProduct: {
                            key: string;
                            type: "object";
                            description: string;
                            shape: {
                                globalIdentifier: {
                                    key: string;
                                    type: "object";
                                    required: false;
                                    description: string;
                                    shape: {
                                        value: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        schemeIdentifier: {
                                            type: ("0002" | "0003" | "0004" | "0005" | "0006" | "0007" | "0008" | "0009" | "0010" | "0011" | "0012" | "0013" | "0014" | "0015" | "0016" | "0017" | "0018" | "0019" | "0020" | "0021" | "0022" | "0023" | "0024" | "0025" | "0026" | "0027" | "0028" | "0029" | "0030" | "0031" | "0032" | "0033" | "0034" | "0035" | "0036" | "0037" | "0038" | "0039" | "0040" | "0041" | "0042" | "0043" | "0044" | "0045" | "0046" | "0047" | "0048" | "0049" | "0050" | "0051" | "0052" | "0053" | "0054" | "0055" | "0056" | "0057" | "0058" | "0059" | "0060" | "0061" | "0062" | "0063" | "0064" | "0065" | "0066" | "0067" | "0068" | "0069" | "0070" | "0071" | "0072" | "0073" | "0074" | "0075" | "0076" | "0077" | "0078" | "0079" | "0080" | "0081" | "0082" | "0083" | "0084" | "0085" | "0086" | "0087" | "0088" | "0089" | "0090" | "0091" | "0093" | "0094" | "0095" | "0096" | "0097" | "0098" | "0099" | "0100" | "0101" | "0102" | "0104" | "0105" | "0106" | "0107" | "0108" | "0109" | "0110" | "0111" | "0112" | "0113" | "0114" | "0115" | "0116" | "0117" | "0118" | "0119" | "0120" | "0121" | "0122" | "0123" | "0124" | "0125" | "0126" | "0127" | "0128" | "0129" | "0130" | "0131" | "0132" | "0133" | "0134" | "0135" | "0136" | "0137" | "0138" | "0139" | "0140" | "0141" | "0142" | "0143" | "0144" | "0145" | "0146" | "0147" | "0148" | "0149" | "0150" | "0151" | "0152" | "0153" | "0154" | "0155" | "0156" | "0157" | "0158" | "0159" | "0160" | "0161" | "0162" | "0163" | "0164" | "0165" | "0166" | "0167" | "0168" | "0169" | "0170" | "0171" | "0172" | "0173" | "0174" | "0175" | "0176" | "0177" | "0178" | "0179" | "0180" | "0183" | "0184" | "0185" | "0186" | "0187" | "0188" | "0189" | "0190" | "0191" | "0192" | "0193" | "0194" | "0195" | "0196" | "0197" | "0198" | "0199" | "0200" | "0201" | "0202" | "0203" | "0204" | "0205" | "0206" | "0207" | "0208" | "0209" | "0210" | "0211" | "0212" | "0213" | "0214" | "0215" | "0216" | "XR01" | "XR02" | "XR03")[];
                                            description: string;
                                            xpath: string;
                                        };
                                    };
                                };
                                name: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    xpath: string;
                                };
                            };
                        };
                        tradeAgreement: {
                            key: string;
                            type: "object";
                            description: string;
                            shape: {
                                grossTradePrice: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        chargeAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        basisQuantity: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                amount: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                unitMeasureCode: {
                                                    type: ("10" | "11" | "13" | "14" | "15" | "20" | "21" | "22" | "23" | "24" | "25" | "27" | "28" | "33" | "34" | "35" | "37" | "38" | "40" | "41" | "56" | "57" | "58" | "59" | "60" | "61" | "74" | "77" | "80" | "81" | "85" | "87" | "89" | "91" | "AA" | "AB" | "AD" | "AE" | "AWG" | "CLF" | "COU" | "GIP" | "KGS" | "MKD" | "MMK" | "SCR" | "STN" | "XAF" | "XAG" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "AL" | "AS" | "ASM" | "AI" | "AQ" | "AZ" | "BB" | "CG" | "DJ" | "DMA" | "GQ" | "FR" | "GF" | "GM" | "GE" | "GL" | "GP" | "HM" | "VA" | "IE" | "JM" | "JE" | "KI" | "KR" | "KW" | "KWT" | "LA" | "LS" | "LR" | "LBR" | "LY" | "LUX" | "MLT" | "MTQ" | "MD" | "MC" | "MAR" | "NA" | "NL" | "NCL" | "NU" | "NIU" | "NF" | "PS" | "PR" | "QA" | "SG" | "SX" | "LK" | "SR" | "SYR" | "TKM" | "GB" | "FC" | "DAD" | "FH" | "HH" | "KO" | "LF" | "OA" | "RH" | "XAA" | "ACR" | "ACT" | "BAR" | "BLD" | "BLL" | "CUR" | "1I" | "2A" | "2B" | "2C" | "2G" | "2H" | "2I" | "2J" | "2K" | "2L" | "2M" | "2N" | "2P" | "2Q" | "2R" | "2U" | "2X" | "2Y" | "2Z" | "3B" | "3C" | "4C" | "4G" | "4H" | "4K" | "4L" | "4M" | "4N" | "4O" | "4P" | "4Q" | "4R" | "4T" | "4U" | "4W" | "4X" | "5A" | "5B" | "5E" | "5J" | "A10" | "A11" | "A12" | "A13" | "A14" | "A15" | "A16" | "A17" | "A18" | "A19" | "A2" | "A20" | "A21" | "A22" | "A23" | "A24" | "A26" | "A27" | "A28" | "A29" | "A3" | "A30" | "A31" | "A32" | "A33" | "A34" | "A35" | "A36" | "A37" | "A38" | "A39" | "A4" | "A40" | "A41" | "A42" | "A43" | "A44" | "A45" | "A47" | "A48" | "A49" | "A5" | "A53" | "A54" | "A55" | "A56" | "A59" | "A6" | "A68" | "A69" | "A7" | "A70" | "A71" | "A73" | "A74" | "A75" | "A76" | "A8" | "A84" | "A85" | "A86" | "A87" | "A88" | "A89" | "A9" | "A90" | "A91" | "A93" | "A94" | "A95" | "A96" | "A97" | "A98" | "A99" | "AH" | "AK" | "AMH" | "AMP" | "ANN" | "APZ" | "ASU" | "ATM" | "AY" | "B1" | "B10" | "B11" | "B12" | "B13" | "B14" | "B15" | "B16" | "B17" | "B18" | "B19" | "B20" | "B21" | "B22" | "B23" | "B24" | "B25" | "B26" | "B27" | "B28" | "B29" | "B3" | "B30" | "B31" | "B32" | "B33" | "B34" | "B35" | "B4" | "B41" | "B42" | "B43" | "B44" | "B45" | "B46" | "B47" | "B48" | "B49" | "B50" | "B52" | "B53" | "B54" | "B55" | "B56" | "B57" | "B58" | "B59" | "B60" | "B61" | "B62" | "B63" | "B64" | "B66" | "B67" | "B68" | "B69" | "B7" | "B70" | "B71" | "B72" | "B73" | "B74" | "B75" | "B76" | "B77" | "B78" | "B79" | "B8" | "B80" | "B81" | "B82" | "B83" | "B84" | "B85" | "B86" | "B87" | "B88" | "B89" | "B90" | "B91" | "B92" | "B93" | "B94" | "B95" | "B96" | "B97" | "B98" | "B99" | "BFT" | "BHP" | "BIL" | "BP" | "BPM" | "BQL" | "BTU" | "BUA" | "BUI" | "C0" | "C10" | "C11" | "C12" | "C13" | "C14" | "C15" | "C16" | "C17" | "C18" | "C19" | "C20" | "C21" | "C22" | "C23" | "C24" | "C25" | "C26" | "C27" | "C28" | "C29" | "C3" | "C30" | "C31" | "C32" | "C33" | "C34" | "C35" | "C36" | "C37" | "C38" | "C39" | "C40" | "C41" | "C42" | "C43" | "C44" | "C45" | "C46" | "C47" | "C48" | "C49" | "C50" | "C51" | "C52" | "C53" | "C54" | "C55" | "C56" | "C57" | "C58" | "C59" | "C60" | "C61" | "C62" | "C63" | "C64" | "C65" | "C66" | "C67" | "C68" | "C69" | "C7" | "C70" | "C71" | "C72" | "C73" | "C74" | "C75" | "C76" | "C78" | "C79" | "C8" | "C80" | "C81" | "C82" | "C83" | "C84" | "C85" | "C86" | "C87" | "C88" | "C89" | "C9" | "C90" | "C91" | "C92" | "C93" | "C94" | "C95" | "C96" | "C97" | "C99" | "CCT" | "CDL" | "CEL" | "CEN" | "CGM" | "CKG" | "CLT" | "CMK" | "CMQ" | "CMT" | "CNP" | "CNT" | "CTG" | "CTM" | "CTN" | "CWA" | "CWI" | "D03" | "D04" | "D1" | "D10" | "D11" | "D12" | "D13" | "D15" | "D16" | "D17" | "D18" | "D19" | "D2" | "D20" | "D21" | "D22" | "D23" | "D24" | "D25" | "D26" | "D27" | "D29" | "D30" | "D31" | "D32" | "D33" | "D34" | "D36" | "D41" | "D42" | "D43" | "D44" | "D45" | "D46" | "D47" | "D48" | "D49" | "D5" | "D50" | "D51" | "D52" | "D53" | "D54" | "D55" | "D56" | "D57" | "D58" | "D59" | "D6" | "D60" | "D61" | "D62" | "D63" | "D65" | "D68" | "D69" | "D73" | "D74" | "D77" | "D78" | "D80" | "D81" | "D82" | "D83" | "D85" | "D86" | "D87" | "D88" | "D89" | "D91" | "D93" | "D94" | "D95" | "DAA" | "DAY" | "DB" | "DBM" | "DBW" | "DD" | "DEC" | "DG" | "DLT" | "DMK" | "DMO" | "DMQ" | "DMT" | "DN" | "DPC" | "DPR" | "DPT" | "DRA" | "DRI" | "DRL" | "DT" | "DTN" | "DWT" | "DZN" | "DZP" | "E01" | "E07" | "E08" | "E09" | "E10" | "E12" | "E14" | "E15" | "E16" | "E17" | "E18" | "E19" | "E20" | "E21" | "E22" | "E23" | "E25" | "E27" | "E28" | "E30" | "E31" | "E32" | "E33" | "E34" | "E35" | "E36" | "E37" | "E38" | "E39" | "E4" | "E40" | "E41" | "E42" | "E43" | "E44" | "E45" | "E46" | "E47" | "E48" | "E49" | "E50" | "E51" | "E52" | "E53" | "E54" | "E55" | "E56" | "E57" | "E58" | "E59" | "E60" | "E61" | "E62" | "E63" | "E64" | "E65" | "E66" | "E67" | "E68" | "E69" | "E70" | "E71" | "E72" | "E73" | "E74" | "E75" | "E76" | "E77" | "E78" | "E79" | "E80" | "E81" | "E82" | "E83" | "E84" | "E85" | "E86" | "E87" | "E88" | "E89" | "E90" | "E91" | "E92" | "E93" | "E94" | "E95" | "E96" | "E97" | "E98" | "E99" | "EA" | "EB" | "EQ" | "F01" | "F02" | "F03" | "F04" | "F05" | "F06" | "F07" | "F08" | "F10" | "F11" | "F12" | "F13" | "F14" | "F15" | "F16" | "F17" | "F18" | "F19" | "F20" | "F21" | "F22" | "F23" | "F24" | "F25" | "F26" | "F27" | "F28" | "F29" | "F30" | "F31" | "F32" | "F33" | "F34" | "F35" | "F36" | "F37" | "F38" | "F39" | "F40" | "F41" | "F42" | "F43" | "F44" | "F45" | "F46" | "F47" | "F48" | "F49" | "F50" | "F51" | "F52" | "F53" | "F54" | "F55" | "F56" | "F57" | "F58" | "F59" | "F60" | "F61" | "F62" | "F63" | "F64" | "F65" | "F66" | "F67" | "F68" | "F69" | "F70" | "F71" | "F72" | "F73" | "F74" | "F75" | "F76" | "F77" | "F78" | "F79" | "F80" | "F81" | "F82" | "F83" | "F84" | "F85" | "F86" | "F87" | "F88" | "F89" | "F90" | "F91" | "F92" | "F93" | "F94" | "F95" | "F96" | "F97" | "F98" | "F99" | "FAH" | "FAR" | "FBM" | "FF" | "FIT" | "FL" | "FNU" | "FOT" | "FP" | "FS" | "FTK" | "FTQ" | "G01" | "G04" | "G05" | "G06" | "G08" | "G09" | "G10" | "G11" | "G12" | "G13" | "G14" | "G15" | "G16" | "G17" | "G18" | "G19" | "G2" | "G20" | "G21" | "G23" | "G24" | "G25" | "G26" | "G27" | "G28" | "G29" | "G3" | "G30" | "G31" | "G32" | "G33" | "G34" | "G35" | "G36" | "G37" | "G38" | "G39" | "G40" | "G41" | "G42" | "G43" | "G44" | "G45" | "G46" | "G47" | "G48" | "G49" | "G50" | "G51" | "G52" | "G53" | "G54" | "G55" | "G56" | "G57" | "G58" | "G59" | "G60" | "G61" | "G62" | "G63" | "G64" | "G65" | "G66" | "G67" | "G68" | "G69" | "G70" | "G71" | "G72" | "G73" | "G74" | "G75" | "G76" | "G77" | "G78" | "G79" | "G80" | "G81" | "G82" | "G83" | "G84" | "G85" | "G86" | "G87" | "G88" | "G89" | "G90" | "G91" | "G92" | "G93" | "G94" | "G95" | "G96" | "G97" | "G98" | "G99" | "GBQ" | "GDW" | "GFI" | "GGR" | "GIA" | "GIC" | "GII" | "GJ" | "GLD" | "GLI" | "GLL" | "GO" | "GRM" | "GRN" | "GRO" | "GV" | "GWH" | "H03" | "H04" | "H05" | "H06" | "H07" | "H08" | "H09" | "H10" | "H11" | "H12" | "H13" | "H14" | "H15" | "H16" | "H18" | "H19" | "H20" | "H21" | "H22" | "H23" | "H24" | "H25" | "H26" | "H27" | "H28" | "H29" | "H30" | "H31" | "H32" | "H33" | "H34" | "H35" | "H36" | "H37" | "H38" | "H39" | "H40" | "H41" | "H42" | "H43" | "H44" | "H45" | "H46" | "H47" | "H48" | "H49" | "H50" | "H51" | "H52" | "H53" | "H54" | "H55" | "H56" | "H57" | "H58" | "H59" | "H60" | "H61" | "H62" | "H63" | "H64" | "H65" | "H66" | "H67" | "H68" | "H69" | "H70" | "H71" | "H72" | "H73" | "H74" | "H75" | "H76" | "H77" | "H79" | "H80" | "H81" | "H82" | "H83" | "H84" | "H85" | "H87" | "H88" | "H89" | "H90" | "H91" | "H92" | "H93" | "H94" | "H95" | "H96" | "H98" | "H99" | "HA" | "HAD" | "HBA" | "HBX" | "HC" | "HDW" | "HEA" | "HGM" | "HIU" | "HKM" | "HLT" | "HMO" | "HMQ" | "HMT" | "HPA" | "HTZ" | "HUR" | "HWE" | "IA" | "INH" | "INK" | "INQ" | "ISD" | "IU" | "IUG" | "IV" | "J10" | "J12" | "J13" | "J14" | "J15" | "J16" | "J17" | "J18" | "J19" | "J2" | "J20" | "J21" | "J22" | "J23" | "J24" | "J25" | "J26" | "J27" | "J28" | "J29" | "J30" | "J31" | "J32" | "J33" | "J34" | "J35" | "J36" | "J38" | "J39" | "J40" | "J41" | "J42" | "J43" | "J44" | "J45" | "J46" | "J47" | "J48" | "J49" | "J50" | "J51" | "J52" | "J53" | "J54" | "J55" | "J56" | "J57" | "J58" | "J59" | "J60" | "J61" | "J62" | "J63" | "J64" | "J65" | "J66" | "J67" | "J68" | "J69" | "J70" | "J71" | "J72" | "J73" | "J74" | "J75" | "J76" | "J78" | "J79" | "J81" | "J82" | "J83" | "J84" | "J85" | "J87" | "J90" | "J91" | "J92" | "J93" | "J95" | "J96" | "J97" | "J98" | "J99" | "JK" | "JNT" | "JOU" | "JPS" | "JWL" | "K1" | "K10" | "K11" | "K12" | "K13" | "K14" | "K15" | "K16" | "K17" | "K18" | "K19" | "K2" | "K20" | "K21" | "K22" | "K23" | "K26" | "K27" | "K28" | "K3" | "K30" | "K31" | "K32" | "K33" | "K34" | "K35" | "K36" | "K37" | "K38" | "K39" | "K40" | "K41" | "K42" | "K43" | "K45" | "K46" | "K47" | "K48" | "K49" | "K50" | "K51" | "K52" | "K53" | "K54" | "K55" | "K58" | "K59" | "K6" | "K60" | "K61" | "K62" | "K63" | "K64" | "K65" | "K66" | "K67" | "K68" | "K69" | "K70" | "K71" | "K73" | "K74" | "K75" | "K76" | "K77" | "K78" | "K79" | "K80" | "K81" | "K82" | "K83" | "K84" | "K85" | "K86" | "K87" | "K88" | "K89" | "K90" | "K91" | "K92" | "K93" | "K94" | "K95" | "K96" | "K97" | "K98" | "K99" | "KA" | "KAT" | "KB" | "KBA" | "KCC" | "KDW" | "KEL" | "KGM" | "KHY" | "KHZ" | "KIC" | "KIP" | "KJ" | "KJO" | "KL" | "KLK" | "KLX" | "KMA" | "KMH" | "KMK" | "KMQ" | "KMT" | "KNI" | "KNM" | "KNS" | "KNT" | "KPA" | "KPH" | "KPO" | "KPP" | "KSD" | "KSH" | "KT" | "KTN" | "KUR" | "KVA" | "KVR" | "KVT" | "KWH" | "KWN" | "KWO" | "KWS" | "KWY" | "KX" | "L10" | "L11" | "L12" | "L13" | "L14" | "L15" | "L16" | "L17" | "L18" | "L19" | "L2" | "L20" | "L21" | "L23" | "L24" | "L25" | "L26" | "L27" | "L28" | "L29" | "L30" | "L31" | "L32" | "L33" | "L34" | "L35" | "L36" | "L37" | "L38" | "L39" | "L40" | "L41" | "L42" | "L43" | "L44" | "L45" | "L46" | "L47" | "L48" | "L49" | "L50" | "L51" | "L52" | "L53" | "L54" | "L55" | "L56" | "L57" | "L58" | "L59" | "L60" | "L63" | "L64" | "L65" | "L66" | "L67" | "L68" | "L69" | "L70" | "L71" | "L72" | "L73" | "L74" | "L75" | "L76" | "L77" | "L78" | "L79" | "L80" | "L81" | "L82" | "L83" | "L84" | "L85" | "L86" | "L87" | "L88" | "L89" | "L90" | "L91" | "L92" | "L93" | "L94" | "L95" | "L96" | "L98" | "L99" | "LAC" | "LBT" | "LD" | "LEF" | "LH" | "LM" | "LN" | "LO" | "LP" | "LPA" | "LTN" | "LTR" | "LUB" | "LUM" | "M1" | "M10" | "M11" | "M12" | "M13" | "M14" | "M15" | "M16" | "M17" | "M18" | "M19" | "M20" | "M21" | "M22" | "M23" | "M24" | "M25" | "M26" | "M27" | "M29" | "M30" | "M31" | "M32" | "M33" | "M34" | "M35" | "M36" | "M37" | "M38" | "M39" | "M4" | "M40" | "M41" | "M42" | "M43" | "M44" | "M45" | "M46" | "M47" | "M48" | "M49" | "M5" | "M50" | "M51" | "M52" | "M53" | "M55" | "M56" | "M57" | "M58" | "M59" | "M60" | "M61" | "M62" | "M63" | "M64" | "M65" | "M66" | "M67" | "M68" | "M69" | "M7" | "M70" | "M71" | "M72" | "M73" | "M74" | "M75" | "M76" | "M77" | "M78" | "M79" | "M80" | "M81" | "M82" | "M83" | "M84" | "M85" | "M86" | "M87" | "M88" | "M89" | "M9" | "M90" | "M91" | "M92" | "M93" | "M94" | "M95" | "M96" | "M97" | "M98" | "M99" | "MAH" | "MAL" | "MAM" | "MAW" | "MBE" | "MBF" | "MBR" | "MCU" | "MGM" | "MHZ" | "MIK" | "MIL" | "MIN" | "MIO" | "MIU" | "MKM" | "MKW" | "MLD" | "MMQ" | "MMT" | "MND" | "MNJ" | "MON" | "MPA" | "MQD" | "MQH" | "MQM" | "MQS" | "MQW" | "MRD" | "MRM" | "MRW" | "MSK" | "MTK" | "MTR" | "MTS" | "MTZ" | "MVA" | "MWH" | "N1" | "N10" | "N11" | "N12" | "N13" | "N14" | "N15" | "N16" | "N17" | "N18" | "N19" | "N20" | "N21" | "N22" | "N23" | "N24" | "N25" | "N26" | "N27" | "N28" | "N29" | "N3" | "N30" | "N31" | "N32" | "N33" | "N34" | "N35" | "N36" | "N37" | "N38" | "N39" | "N40" | "N41" | "N42" | "N43" | "N44" | "N45" | "N46" | "N47" | "N48" | "N49" | "N50" | "N51" | "N52" | "N53" | "N54" | "N55" | "N56" | "N57" | "N58" | "N59" | "N60" | "N61" | "N62" | "N63" | "N64" | "N65" | "N66" | "N67" | "N68" | "N69" | "N70" | "N71" | "N72" | "N73" | "N74" | "N75" | "N76" | "N77" | "N78" | "N79" | "N80" | "N81" | "N82" | "N83" | "N84" | "N85" | "N86" | "N87" | "N88" | "N89" | "N90" | "N91" | "N92" | "N93" | "N94" | "N95" | "N96" | "N97" | "N98" | "N99" | "NAR" | "NEW" | "NIL" | "NM3" | "NMI" | "NMP" | "NPT" | "NT" | "NTU" | "NX" | "ODE" | "ODG" | "ODK" | "ODM" | "OHM" | "ON" | "ONZ" | "OPM" | "OT" | "OZA" | "OZI" | "P1" | "P10" | "P11" | "P12" | "P13" | "P14" | "P15" | "P16" | "P17" | "P18" | "P19" | "P2" | "P20" | "P21" | "P22" | "P23" | "P24" | "P25" | "P26" | "P27" | "P28" | "P29" | "P30" | "P31" | "P32" | "P33" | "P34" | "P35" | "P36" | "P37" | "P38" | "P39" | "P40" | "P41" | "P42" | "P43" | "P44" | "P45" | "P46" | "P47" | "P48" | "P49" | "P5" | "P50" | "P51" | "P52" | "P53" | "P54" | "P55" | "P56" | "P57" | "P58" | "P59" | "P60" | "P61" | "P62" | "P63" | "P64" | "P65" | "P66" | "P67" | "P68" | "P69" | "P70" | "P71" | "P72" | "P73" | "P74" | "P75" | "P76" | "P77" | "P78" | "P79" | "P80" | "P81" | "P82" | "P83" | "P84" | "P85" | "P86" | "P87" | "P88" | "P89" | "P90" | "P91" | "P92" | "P93" | "P94" | "P95" | "P96" | "P97" | "P98" | "P99" | "PAL" | "PD" | "PFL" | "PGL" | "PI" | "PLA" | "PO" | "PQ" | "PTD" | "PTI" | "PTL" | "PTN" | "Q10" | "Q11" | "Q12" | "Q13" | "Q14" | "Q15" | "Q16" | "Q17" | "Q18" | "Q19" | "Q20" | "Q21" | "Q22" | "Q23" | "Q24" | "Q25" | "Q26" | "Q27" | "Q28" | "Q29" | "Q3" | "Q30" | "Q31" | "Q32" | "Q33" | "Q34" | "Q35" | "Q36" | "Q37" | "Q38" | "Q39" | "Q40" | "Q41" | "Q42" | "QAN" | "QB" | "QR" | "QTD" | "QTI" | "QTL" | "QTR" | "R1" | "R9" | "RM" | "ROM" | "RP" | "RPM" | "RPS" | "RT" | "S3" | "S4" | "SAN" | "SCO" | "SEC" | "SET" | "SIE" | "SM3" | "SMI" | "SQ" | "SQR" | "STC" | "STI" | "STK" | "STL" | "STW" | "SW" | "T0" | "T3" | "TAH" | "TAN" | "TI" | "TIC" | "TIP" | "TMS" | "TNE" | "TP" | "TPI" | "TPR" | "TQD" | "TRL" | "TST" | "TTS" | "U1" | "U2" | "UB" | "UC" | "VLT" | "VP" | "W2" | "WA" | "WB" | "WCD" | "WE" | "WEB" | "WEE" | "WG" | "WHR" | "WM" | "WSD" | "WTT" | "X1" | "YDK" | "YDQ" | "YRD" | "Z11" | "Z9" | "ZP" | "ZZ" | "X1A" | "X1B" | "X1D" | "X1F" | "X1G" | "X1W" | "X2C" | "X3A" | "X3H" | "X43" | "X44" | "X4A" | "X4B" | "X4C" | "X4D" | "X4F" | "X4G" | "X4H" | "X5H" | "X5L" | "X5M" | "X6H" | "X6P" | "X7A" | "X7B" | "X8A" | "X8B" | "X8C" | "XAB" | "XAC" | "XAD" | "XAE" | "XAH" | "XAI" | "XAJ" | "XAL" | "XAM" | "XAP" | "XAT" | "XAV" | "XB4" | "XBE" | "XBF" | "XBG" | "XBH" | "XBI" | "XBJ" | "XBK" | "XBL" | "XBM" | "XBN" | "XBO" | "XBP" | "XBQ" | "XBR" | "XBS" | "XBT" | "XBU" | "XBV" | "XBW" | "XBX" | "XBY" | "XBZ" | "XCA" | "XCB" | "XCC" | "XCE" | "XCF" | "XCG" | "XCH" | "XCI" | "XCJ" | "XCK" | "XCL" | "XCM" | "XCN" | "XCO" | "XCP" | "XCQ" | "XCR" | "XCS" | "XCT" | "XCU" | "XCV" | "XCW" | "XCX" | "XCY" | "XCZ" | "XDA" | "XDB" | "XDC" | "XDG" | "XDH" | "XDI" | "XDJ" | "XDK" | "XDL" | "XDM" | "XDN" | "XDP" | "XDS" | "XDT" | "XDU" | "XDV" | "XDW" | "XDX" | "XDY" | "XEC" | "XED" | "XEE" | "XEF" | "XEG" | "XEH" | "XEI" | "XEN" | "XFB" | "XFC" | "XFD" | "XFE" | "XFI" | "XFL" | "XFO" | "XFP" | "XFR" | "XFT" | "XFW" | "XFX" | "XGB" | "XGI" | "XGL" | "XGR" | "XGU" | "XGY" | "XGZ" | "XHA" | "XHB" | "XHC" | "XHG" | "XHN" | "XHR" | "XIA" | "XIB" | "XIC" | "XID" | "XIE" | "XIF" | "XIG" | "XIH" | "XIK" | "XIL" | "XIN" | "XIZ" | "XJB" | "XJC" | "XJG" | "XJR" | "XJT" | "XJY" | "XKG" | "XKI" | "XLE" | "XLG" | "XLT" | "XLU" | "XLV" | "XLZ" | "XMA" | "XMB" | "XMC" | "XME" | "XMR" | "XMS" | "XMT" | "XMW" | "XMX" | "XNA" | "XNE" | "XNF" | "XNG" | "XNS" | "XNT" | "XNU" | "XNV" | "XOA" | "XOB" | "XOC" | "XOD" | "XOE" | "XOK" | "XOT" | "XOU" | "XOG" | "XOH" | "XOI" | "XOJ" | "XOL" | "XOM" | "XON" | "XOP" | "XOQ" | "XOR" | "XOS" | "XOV" | "XOW" | "XOX" | "XOY" | "XOZ" | "XO1" | "XO2" | "XO3" | "XO4" | "XO5" | "XO6" | "XO7" | "XO8" | "XO9" | "XP1" | "XP3" | "XP4" | "XP2" | "XPA" | "XPB" | "XPC" | "XPE" | "XPG" | "XPH" | "XPI" | "XPJ" | "XPK" | "XPL" | "XPN" | "XPO" | "XPP" | "XPR" | "XPU" | "XPV" | "XPX" | "XPY" | "XPZ" | "XQA" | "XQB" | "XQC" | "XQD" | "XQF" | "XQG" | "XQH" | "XQJ" | "XQK" | "XQL" | "XQM" | "XQN" | "XQP" | "XQQ" | "XQR" | "XQS" | "XRD" | "XRG" | "XRJ" | "XRK" | "XRL" | "XRO" | "XRT" | "XRZ" | "XSA" | "XSB" | "XSC" | "XSD" | "XSE" | "XSH" | "XSI" | "XSK" | "XSL" | "XSM" | "XSO" | "XSP" | "XSS" | "XST" | "XSV" | "XSW" | "XSY" | "XSZ" | "XT1" | "XTB" | "XTC" | "XTD" | "XTE" | "XTG" | "XTI" | "XTK" | "XTL" | "XTN" | "XTO" | "XTR" | "XTT" | "XTU" | "XTV" | "XTW" | "XTY" | "XTZ" | "XUC" | "XUN" | "XVA" | "XVG" | "XVI" | "XVK" | "XVL" | "XVO" | "XVP" | "XVQ" | "XVN" | "XVR" | "XVS" | "XVY" | "XWA" | "XWB" | "XWC" | "XWD" | "XWF" | "XWG" | "XWH" | "XWJ" | "XWK" | "XWL" | "XWM" | "XWN" | "XWP" | "XWQ" | "XWR" | "XWS" | "XWT" | "XWU" | "XWV" | "XWW" | "XWX" | "XWY" | "XWZ" | "XXA" | "XXB" | "XXC" | "XXD" | "XXF" | "XXG" | "XXH" | "XXJ" | "XXK" | "XYA" | "XYB" | "XYC" | "XYD" | "XYF" | "XYG" | "XYH" | "XYJ" | "XYK" | "XYL" | "XYM" | "XYN" | "XYP" | "XYQ" | "XYR" | "XYS" | "XYT" | "XYV" | "XYW" | "XYX" | "XYY" | "XYZ" | "XZA" | "XZB" | "XZC" | "XZD" | "XZF" | "XZG" | "XZH" | "XZJ" | "XZK" | "XZL" | "XZM" | "XZN" | "XZP" | "XZQ" | "XZR" | "XZS" | "XZT" | "XZU" | "XZV" | "XZW" | "XZX" | "XZY" | "XZZ")[];
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                        discounts: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                actualAmount: {
                                                    key: string;
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                            };
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ChargeIndicator/udt:Indicator": string;
                                            };
                                        };
                                    };
                                };
                                netTradePrice: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        chargeAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        basisQuantity: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                amount: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                unitMeasureCode: {
                                                    type: ("10" | "11" | "13" | "14" | "15" | "20" | "21" | "22" | "23" | "24" | "25" | "27" | "28" | "33" | "34" | "35" | "37" | "38" | "40" | "41" | "56" | "57" | "58" | "59" | "60" | "61" | "74" | "77" | "80" | "81" | "85" | "87" | "89" | "91" | "AA" | "AB" | "AD" | "AE" | "AWG" | "CLF" | "COU" | "GIP" | "KGS" | "MKD" | "MMK" | "SCR" | "STN" | "XAF" | "XAG" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "AL" | "AS" | "ASM" | "AI" | "AQ" | "AZ" | "BB" | "CG" | "DJ" | "DMA" | "GQ" | "FR" | "GF" | "GM" | "GE" | "GL" | "GP" | "HM" | "VA" | "IE" | "JM" | "JE" | "KI" | "KR" | "KW" | "KWT" | "LA" | "LS" | "LR" | "LBR" | "LY" | "LUX" | "MLT" | "MTQ" | "MD" | "MC" | "MAR" | "NA" | "NL" | "NCL" | "NU" | "NIU" | "NF" | "PS" | "PR" | "QA" | "SG" | "SX" | "LK" | "SR" | "SYR" | "TKM" | "GB" | "FC" | "DAD" | "FH" | "HH" | "KO" | "LF" | "OA" | "RH" | "XAA" | "ACR" | "ACT" | "BAR" | "BLD" | "BLL" | "CUR" | "1I" | "2A" | "2B" | "2C" | "2G" | "2H" | "2I" | "2J" | "2K" | "2L" | "2M" | "2N" | "2P" | "2Q" | "2R" | "2U" | "2X" | "2Y" | "2Z" | "3B" | "3C" | "4C" | "4G" | "4H" | "4K" | "4L" | "4M" | "4N" | "4O" | "4P" | "4Q" | "4R" | "4T" | "4U" | "4W" | "4X" | "5A" | "5B" | "5E" | "5J" | "A10" | "A11" | "A12" | "A13" | "A14" | "A15" | "A16" | "A17" | "A18" | "A19" | "A2" | "A20" | "A21" | "A22" | "A23" | "A24" | "A26" | "A27" | "A28" | "A29" | "A3" | "A30" | "A31" | "A32" | "A33" | "A34" | "A35" | "A36" | "A37" | "A38" | "A39" | "A4" | "A40" | "A41" | "A42" | "A43" | "A44" | "A45" | "A47" | "A48" | "A49" | "A5" | "A53" | "A54" | "A55" | "A56" | "A59" | "A6" | "A68" | "A69" | "A7" | "A70" | "A71" | "A73" | "A74" | "A75" | "A76" | "A8" | "A84" | "A85" | "A86" | "A87" | "A88" | "A89" | "A9" | "A90" | "A91" | "A93" | "A94" | "A95" | "A96" | "A97" | "A98" | "A99" | "AH" | "AK" | "AMH" | "AMP" | "ANN" | "APZ" | "ASU" | "ATM" | "AY" | "B1" | "B10" | "B11" | "B12" | "B13" | "B14" | "B15" | "B16" | "B17" | "B18" | "B19" | "B20" | "B21" | "B22" | "B23" | "B24" | "B25" | "B26" | "B27" | "B28" | "B29" | "B3" | "B30" | "B31" | "B32" | "B33" | "B34" | "B35" | "B4" | "B41" | "B42" | "B43" | "B44" | "B45" | "B46" | "B47" | "B48" | "B49" | "B50" | "B52" | "B53" | "B54" | "B55" | "B56" | "B57" | "B58" | "B59" | "B60" | "B61" | "B62" | "B63" | "B64" | "B66" | "B67" | "B68" | "B69" | "B7" | "B70" | "B71" | "B72" | "B73" | "B74" | "B75" | "B76" | "B77" | "B78" | "B79" | "B8" | "B80" | "B81" | "B82" | "B83" | "B84" | "B85" | "B86" | "B87" | "B88" | "B89" | "B90" | "B91" | "B92" | "B93" | "B94" | "B95" | "B96" | "B97" | "B98" | "B99" | "BFT" | "BHP" | "BIL" | "BP" | "BPM" | "BQL" | "BTU" | "BUA" | "BUI" | "C0" | "C10" | "C11" | "C12" | "C13" | "C14" | "C15" | "C16" | "C17" | "C18" | "C19" | "C20" | "C21" | "C22" | "C23" | "C24" | "C25" | "C26" | "C27" | "C28" | "C29" | "C3" | "C30" | "C31" | "C32" | "C33" | "C34" | "C35" | "C36" | "C37" | "C38" | "C39" | "C40" | "C41" | "C42" | "C43" | "C44" | "C45" | "C46" | "C47" | "C48" | "C49" | "C50" | "C51" | "C52" | "C53" | "C54" | "C55" | "C56" | "C57" | "C58" | "C59" | "C60" | "C61" | "C62" | "C63" | "C64" | "C65" | "C66" | "C67" | "C68" | "C69" | "C7" | "C70" | "C71" | "C72" | "C73" | "C74" | "C75" | "C76" | "C78" | "C79" | "C8" | "C80" | "C81" | "C82" | "C83" | "C84" | "C85" | "C86" | "C87" | "C88" | "C89" | "C9" | "C90" | "C91" | "C92" | "C93" | "C94" | "C95" | "C96" | "C97" | "C99" | "CCT" | "CDL" | "CEL" | "CEN" | "CGM" | "CKG" | "CLT" | "CMK" | "CMQ" | "CMT" | "CNP" | "CNT" | "CTG" | "CTM" | "CTN" | "CWA" | "CWI" | "D03" | "D04" | "D1" | "D10" | "D11" | "D12" | "D13" | "D15" | "D16" | "D17" | "D18" | "D19" | "D2" | "D20" | "D21" | "D22" | "D23" | "D24" | "D25" | "D26" | "D27" | "D29" | "D30" | "D31" | "D32" | "D33" | "D34" | "D36" | "D41" | "D42" | "D43" | "D44" | "D45" | "D46" | "D47" | "D48" | "D49" | "D5" | "D50" | "D51" | "D52" | "D53" | "D54" | "D55" | "D56" | "D57" | "D58" | "D59" | "D6" | "D60" | "D61" | "D62" | "D63" | "D65" | "D68" | "D69" | "D73" | "D74" | "D77" | "D78" | "D80" | "D81" | "D82" | "D83" | "D85" | "D86" | "D87" | "D88" | "D89" | "D91" | "D93" | "D94" | "D95" | "DAA" | "DAY" | "DB" | "DBM" | "DBW" | "DD" | "DEC" | "DG" | "DLT" | "DMK" | "DMO" | "DMQ" | "DMT" | "DN" | "DPC" | "DPR" | "DPT" | "DRA" | "DRI" | "DRL" | "DT" | "DTN" | "DWT" | "DZN" | "DZP" | "E01" | "E07" | "E08" | "E09" | "E10" | "E12" | "E14" | "E15" | "E16" | "E17" | "E18" | "E19" | "E20" | "E21" | "E22" | "E23" | "E25" | "E27" | "E28" | "E30" | "E31" | "E32" | "E33" | "E34" | "E35" | "E36" | "E37" | "E38" | "E39" | "E4" | "E40" | "E41" | "E42" | "E43" | "E44" | "E45" | "E46" | "E47" | "E48" | "E49" | "E50" | "E51" | "E52" | "E53" | "E54" | "E55" | "E56" | "E57" | "E58" | "E59" | "E60" | "E61" | "E62" | "E63" | "E64" | "E65" | "E66" | "E67" | "E68" | "E69" | "E70" | "E71" | "E72" | "E73" | "E74" | "E75" | "E76" | "E77" | "E78" | "E79" | "E80" | "E81" | "E82" | "E83" | "E84" | "E85" | "E86" | "E87" | "E88" | "E89" | "E90" | "E91" | "E92" | "E93" | "E94" | "E95" | "E96" | "E97" | "E98" | "E99" | "EA" | "EB" | "EQ" | "F01" | "F02" | "F03" | "F04" | "F05" | "F06" | "F07" | "F08" | "F10" | "F11" | "F12" | "F13" | "F14" | "F15" | "F16" | "F17" | "F18" | "F19" | "F20" | "F21" | "F22" | "F23" | "F24" | "F25" | "F26" | "F27" | "F28" | "F29" | "F30" | "F31" | "F32" | "F33" | "F34" | "F35" | "F36" | "F37" | "F38" | "F39" | "F40" | "F41" | "F42" | "F43" | "F44" | "F45" | "F46" | "F47" | "F48" | "F49" | "F50" | "F51" | "F52" | "F53" | "F54" | "F55" | "F56" | "F57" | "F58" | "F59" | "F60" | "F61" | "F62" | "F63" | "F64" | "F65" | "F66" | "F67" | "F68" | "F69" | "F70" | "F71" | "F72" | "F73" | "F74" | "F75" | "F76" | "F77" | "F78" | "F79" | "F80" | "F81" | "F82" | "F83" | "F84" | "F85" | "F86" | "F87" | "F88" | "F89" | "F90" | "F91" | "F92" | "F93" | "F94" | "F95" | "F96" | "F97" | "F98" | "F99" | "FAH" | "FAR" | "FBM" | "FF" | "FIT" | "FL" | "FNU" | "FOT" | "FP" | "FS" | "FTK" | "FTQ" | "G01" | "G04" | "G05" | "G06" | "G08" | "G09" | "G10" | "G11" | "G12" | "G13" | "G14" | "G15" | "G16" | "G17" | "G18" | "G19" | "G2" | "G20" | "G21" | "G23" | "G24" | "G25" | "G26" | "G27" | "G28" | "G29" | "G3" | "G30" | "G31" | "G32" | "G33" | "G34" | "G35" | "G36" | "G37" | "G38" | "G39" | "G40" | "G41" | "G42" | "G43" | "G44" | "G45" | "G46" | "G47" | "G48" | "G49" | "G50" | "G51" | "G52" | "G53" | "G54" | "G55" | "G56" | "G57" | "G58" | "G59" | "G60" | "G61" | "G62" | "G63" | "G64" | "G65" | "G66" | "G67" | "G68" | "G69" | "G70" | "G71" | "G72" | "G73" | "G74" | "G75" | "G76" | "G77" | "G78" | "G79" | "G80" | "G81" | "G82" | "G83" | "G84" | "G85" | "G86" | "G87" | "G88" | "G89" | "G90" | "G91" | "G92" | "G93" | "G94" | "G95" | "G96" | "G97" | "G98" | "G99" | "GBQ" | "GDW" | "GFI" | "GGR" | "GIA" | "GIC" | "GII" | "GJ" | "GLD" | "GLI" | "GLL" | "GO" | "GRM" | "GRN" | "GRO" | "GV" | "GWH" | "H03" | "H04" | "H05" | "H06" | "H07" | "H08" | "H09" | "H10" | "H11" | "H12" | "H13" | "H14" | "H15" | "H16" | "H18" | "H19" | "H20" | "H21" | "H22" | "H23" | "H24" | "H25" | "H26" | "H27" | "H28" | "H29" | "H30" | "H31" | "H32" | "H33" | "H34" | "H35" | "H36" | "H37" | "H38" | "H39" | "H40" | "H41" | "H42" | "H43" | "H44" | "H45" | "H46" | "H47" | "H48" | "H49" | "H50" | "H51" | "H52" | "H53" | "H54" | "H55" | "H56" | "H57" | "H58" | "H59" | "H60" | "H61" | "H62" | "H63" | "H64" | "H65" | "H66" | "H67" | "H68" | "H69" | "H70" | "H71" | "H72" | "H73" | "H74" | "H75" | "H76" | "H77" | "H79" | "H80" | "H81" | "H82" | "H83" | "H84" | "H85" | "H87" | "H88" | "H89" | "H90" | "H91" | "H92" | "H93" | "H94" | "H95" | "H96" | "H98" | "H99" | "HA" | "HAD" | "HBA" | "HBX" | "HC" | "HDW" | "HEA" | "HGM" | "HIU" | "HKM" | "HLT" | "HMO" | "HMQ" | "HMT" | "HPA" | "HTZ" | "HUR" | "HWE" | "IA" | "INH" | "INK" | "INQ" | "ISD" | "IU" | "IUG" | "IV" | "J10" | "J12" | "J13" | "J14" | "J15" | "J16" | "J17" | "J18" | "J19" | "J2" | "J20" | "J21" | "J22" | "J23" | "J24" | "J25" | "J26" | "J27" | "J28" | "J29" | "J30" | "J31" | "J32" | "J33" | "J34" | "J35" | "J36" | "J38" | "J39" | "J40" | "J41" | "J42" | "J43" | "J44" | "J45" | "J46" | "J47" | "J48" | "J49" | "J50" | "J51" | "J52" | "J53" | "J54" | "J55" | "J56" | "J57" | "J58" | "J59" | "J60" | "J61" | "J62" | "J63" | "J64" | "J65" | "J66" | "J67" | "J68" | "J69" | "J70" | "J71" | "J72" | "J73" | "J74" | "J75" | "J76" | "J78" | "J79" | "J81" | "J82" | "J83" | "J84" | "J85" | "J87" | "J90" | "J91" | "J92" | "J93" | "J95" | "J96" | "J97" | "J98" | "J99" | "JK" | "JNT" | "JOU" | "JPS" | "JWL" | "K1" | "K10" | "K11" | "K12" | "K13" | "K14" | "K15" | "K16" | "K17" | "K18" | "K19" | "K2" | "K20" | "K21" | "K22" | "K23" | "K26" | "K27" | "K28" | "K3" | "K30" | "K31" | "K32" | "K33" | "K34" | "K35" | "K36" | "K37" | "K38" | "K39" | "K40" | "K41" | "K42" | "K43" | "K45" | "K46" | "K47" | "K48" | "K49" | "K50" | "K51" | "K52" | "K53" | "K54" | "K55" | "K58" | "K59" | "K6" | "K60" | "K61" | "K62" | "K63" | "K64" | "K65" | "K66" | "K67" | "K68" | "K69" | "K70" | "K71" | "K73" | "K74" | "K75" | "K76" | "K77" | "K78" | "K79" | "K80" | "K81" | "K82" | "K83" | "K84" | "K85" | "K86" | "K87" | "K88" | "K89" | "K90" | "K91" | "K92" | "K93" | "K94" | "K95" | "K96" | "K97" | "K98" | "K99" | "KA" | "KAT" | "KB" | "KBA" | "KCC" | "KDW" | "KEL" | "KGM" | "KHY" | "KHZ" | "KIC" | "KIP" | "KJ" | "KJO" | "KL" | "KLK" | "KLX" | "KMA" | "KMH" | "KMK" | "KMQ" | "KMT" | "KNI" | "KNM" | "KNS" | "KNT" | "KPA" | "KPH" | "KPO" | "KPP" | "KSD" | "KSH" | "KT" | "KTN" | "KUR" | "KVA" | "KVR" | "KVT" | "KWH" | "KWN" | "KWO" | "KWS" | "KWY" | "KX" | "L10" | "L11" | "L12" | "L13" | "L14" | "L15" | "L16" | "L17" | "L18" | "L19" | "L2" | "L20" | "L21" | "L23" | "L24" | "L25" | "L26" | "L27" | "L28" | "L29" | "L30" | "L31" | "L32" | "L33" | "L34" | "L35" | "L36" | "L37" | "L38" | "L39" | "L40" | "L41" | "L42" | "L43" | "L44" | "L45" | "L46" | "L47" | "L48" | "L49" | "L50" | "L51" | "L52" | "L53" | "L54" | "L55" | "L56" | "L57" | "L58" | "L59" | "L60" | "L63" | "L64" | "L65" | "L66" | "L67" | "L68" | "L69" | "L70" | "L71" | "L72" | "L73" | "L74" | "L75" | "L76" | "L77" | "L78" | "L79" | "L80" | "L81" | "L82" | "L83" | "L84" | "L85" | "L86" | "L87" | "L88" | "L89" | "L90" | "L91" | "L92" | "L93" | "L94" | "L95" | "L96" | "L98" | "L99" | "LAC" | "LBT" | "LD" | "LEF" | "LH" | "LM" | "LN" | "LO" | "LP" | "LPA" | "LTN" | "LTR" | "LUB" | "LUM" | "M1" | "M10" | "M11" | "M12" | "M13" | "M14" | "M15" | "M16" | "M17" | "M18" | "M19" | "M20" | "M21" | "M22" | "M23" | "M24" | "M25" | "M26" | "M27" | "M29" | "M30" | "M31" | "M32" | "M33" | "M34" | "M35" | "M36" | "M37" | "M38" | "M39" | "M4" | "M40" | "M41" | "M42" | "M43" | "M44" | "M45" | "M46" | "M47" | "M48" | "M49" | "M5" | "M50" | "M51" | "M52" | "M53" | "M55" | "M56" | "M57" | "M58" | "M59" | "M60" | "M61" | "M62" | "M63" | "M64" | "M65" | "M66" | "M67" | "M68" | "M69" | "M7" | "M70" | "M71" | "M72" | "M73" | "M74" | "M75" | "M76" | "M77" | "M78" | "M79" | "M80" | "M81" | "M82" | "M83" | "M84" | "M85" | "M86" | "M87" | "M88" | "M89" | "M9" | "M90" | "M91" | "M92" | "M93" | "M94" | "M95" | "M96" | "M97" | "M98" | "M99" | "MAH" | "MAL" | "MAM" | "MAW" | "MBE" | "MBF" | "MBR" | "MCU" | "MGM" | "MHZ" | "MIK" | "MIL" | "MIN" | "MIO" | "MIU" | "MKM" | "MKW" | "MLD" | "MMQ" | "MMT" | "MND" | "MNJ" | "MON" | "MPA" | "MQD" | "MQH" | "MQM" | "MQS" | "MQW" | "MRD" | "MRM" | "MRW" | "MSK" | "MTK" | "MTR" | "MTS" | "MTZ" | "MVA" | "MWH" | "N1" | "N10" | "N11" | "N12" | "N13" | "N14" | "N15" | "N16" | "N17" | "N18" | "N19" | "N20" | "N21" | "N22" | "N23" | "N24" | "N25" | "N26" | "N27" | "N28" | "N29" | "N3" | "N30" | "N31" | "N32" | "N33" | "N34" | "N35" | "N36" | "N37" | "N38" | "N39" | "N40" | "N41" | "N42" | "N43" | "N44" | "N45" | "N46" | "N47" | "N48" | "N49" | "N50" | "N51" | "N52" | "N53" | "N54" | "N55" | "N56" | "N57" | "N58" | "N59" | "N60" | "N61" | "N62" | "N63" | "N64" | "N65" | "N66" | "N67" | "N68" | "N69" | "N70" | "N71" | "N72" | "N73" | "N74" | "N75" | "N76" | "N77" | "N78" | "N79" | "N80" | "N81" | "N82" | "N83" | "N84" | "N85" | "N86" | "N87" | "N88" | "N89" | "N90" | "N91" | "N92" | "N93" | "N94" | "N95" | "N96" | "N97" | "N98" | "N99" | "NAR" | "NEW" | "NIL" | "NM3" | "NMI" | "NMP" | "NPT" | "NT" | "NTU" | "NX" | "ODE" | "ODG" | "ODK" | "ODM" | "OHM" | "ON" | "ONZ" | "OPM" | "OT" | "OZA" | "OZI" | "P1" | "P10" | "P11" | "P12" | "P13" | "P14" | "P15" | "P16" | "P17" | "P18" | "P19" | "P2" | "P20" | "P21" | "P22" | "P23" | "P24" | "P25" | "P26" | "P27" | "P28" | "P29" | "P30" | "P31" | "P32" | "P33" | "P34" | "P35" | "P36" | "P37" | "P38" | "P39" | "P40" | "P41" | "P42" | "P43" | "P44" | "P45" | "P46" | "P47" | "P48" | "P49" | "P5" | "P50" | "P51" | "P52" | "P53" | "P54" | "P55" | "P56" | "P57" | "P58" | "P59" | "P60" | "P61" | "P62" | "P63" | "P64" | "P65" | "P66" | "P67" | "P68" | "P69" | "P70" | "P71" | "P72" | "P73" | "P74" | "P75" | "P76" | "P77" | "P78" | "P79" | "P80" | "P81" | "P82" | "P83" | "P84" | "P85" | "P86" | "P87" | "P88" | "P89" | "P90" | "P91" | "P92" | "P93" | "P94" | "P95" | "P96" | "P97" | "P98" | "P99" | "PAL" | "PD" | "PFL" | "PGL" | "PI" | "PLA" | "PO" | "PQ" | "PTD" | "PTI" | "PTL" | "PTN" | "Q10" | "Q11" | "Q12" | "Q13" | "Q14" | "Q15" | "Q16" | "Q17" | "Q18" | "Q19" | "Q20" | "Q21" | "Q22" | "Q23" | "Q24" | "Q25" | "Q26" | "Q27" | "Q28" | "Q29" | "Q3" | "Q30" | "Q31" | "Q32" | "Q33" | "Q34" | "Q35" | "Q36" | "Q37" | "Q38" | "Q39" | "Q40" | "Q41" | "Q42" | "QAN" | "QB" | "QR" | "QTD" | "QTI" | "QTL" | "QTR" | "R1" | "R9" | "RM" | "ROM" | "RP" | "RPM" | "RPS" | "RT" | "S3" | "S4" | "SAN" | "SCO" | "SEC" | "SET" | "SIE" | "SM3" | "SMI" | "SQ" | "SQR" | "STC" | "STI" | "STK" | "STL" | "STW" | "SW" | "T0" | "T3" | "TAH" | "TAN" | "TI" | "TIC" | "TIP" | "TMS" | "TNE" | "TP" | "TPI" | "TPR" | "TQD" | "TRL" | "TST" | "TTS" | "U1" | "U2" | "UB" | "UC" | "VLT" | "VP" | "W2" | "WA" | "WB" | "WCD" | "WE" | "WEB" | "WEE" | "WG" | "WHR" | "WM" | "WSD" | "WTT" | "X1" | "YDK" | "YDQ" | "YRD" | "Z11" | "Z9" | "ZP" | "ZZ" | "X1A" | "X1B" | "X1D" | "X1F" | "X1G" | "X1W" | "X2C" | "X3A" | "X3H" | "X43" | "X44" | "X4A" | "X4B" | "X4C" | "X4D" | "X4F" | "X4G" | "X4H" | "X5H" | "X5L" | "X5M" | "X6H" | "X6P" | "X7A" | "X7B" | "X8A" | "X8B" | "X8C" | "XAB" | "XAC" | "XAD" | "XAE" | "XAH" | "XAI" | "XAJ" | "XAL" | "XAM" | "XAP" | "XAT" | "XAV" | "XB4" | "XBE" | "XBF" | "XBG" | "XBH" | "XBI" | "XBJ" | "XBK" | "XBL" | "XBM" | "XBN" | "XBO" | "XBP" | "XBQ" | "XBR" | "XBS" | "XBT" | "XBU" | "XBV" | "XBW" | "XBX" | "XBY" | "XBZ" | "XCA" | "XCB" | "XCC" | "XCE" | "XCF" | "XCG" | "XCH" | "XCI" | "XCJ" | "XCK" | "XCL" | "XCM" | "XCN" | "XCO" | "XCP" | "XCQ" | "XCR" | "XCS" | "XCT" | "XCU" | "XCV" | "XCW" | "XCX" | "XCY" | "XCZ" | "XDA" | "XDB" | "XDC" | "XDG" | "XDH" | "XDI" | "XDJ" | "XDK" | "XDL" | "XDM" | "XDN" | "XDP" | "XDS" | "XDT" | "XDU" | "XDV" | "XDW" | "XDX" | "XDY" | "XEC" | "XED" | "XEE" | "XEF" | "XEG" | "XEH" | "XEI" | "XEN" | "XFB" | "XFC" | "XFD" | "XFE" | "XFI" | "XFL" | "XFO" | "XFP" | "XFR" | "XFT" | "XFW" | "XFX" | "XGB" | "XGI" | "XGL" | "XGR" | "XGU" | "XGY" | "XGZ" | "XHA" | "XHB" | "XHC" | "XHG" | "XHN" | "XHR" | "XIA" | "XIB" | "XIC" | "XID" | "XIE" | "XIF" | "XIG" | "XIH" | "XIK" | "XIL" | "XIN" | "XIZ" | "XJB" | "XJC" | "XJG" | "XJR" | "XJT" | "XJY" | "XKG" | "XKI" | "XLE" | "XLG" | "XLT" | "XLU" | "XLV" | "XLZ" | "XMA" | "XMB" | "XMC" | "XME" | "XMR" | "XMS" | "XMT" | "XMW" | "XMX" | "XNA" | "XNE" | "XNF" | "XNG" | "XNS" | "XNT" | "XNU" | "XNV" | "XOA" | "XOB" | "XOC" | "XOD" | "XOE" | "XOK" | "XOT" | "XOU" | "XOG" | "XOH" | "XOI" | "XOJ" | "XOL" | "XOM" | "XON" | "XOP" | "XOQ" | "XOR" | "XOS" | "XOV" | "XOW" | "XOX" | "XOY" | "XOZ" | "XO1" | "XO2" | "XO3" | "XO4" | "XO5" | "XO6" | "XO7" | "XO8" | "XO9" | "XP1" | "XP3" | "XP4" | "XP2" | "XPA" | "XPB" | "XPC" | "XPE" | "XPG" | "XPH" | "XPI" | "XPJ" | "XPK" | "XPL" | "XPN" | "XPO" | "XPP" | "XPR" | "XPU" | "XPV" | "XPX" | "XPY" | "XPZ" | "XQA" | "XQB" | "XQC" | "XQD" | "XQF" | "XQG" | "XQH" | "XQJ" | "XQK" | "XQL" | "XQM" | "XQN" | "XQP" | "XQQ" | "XQR" | "XQS" | "XRD" | "XRG" | "XRJ" | "XRK" | "XRL" | "XRO" | "XRT" | "XRZ" | "XSA" | "XSB" | "XSC" | "XSD" | "XSE" | "XSH" | "XSI" | "XSK" | "XSL" | "XSM" | "XSO" | "XSP" | "XSS" | "XST" | "XSV" | "XSW" | "XSY" | "XSZ" | "XT1" | "XTB" | "XTC" | "XTD" | "XTE" | "XTG" | "XTI" | "XTK" | "XTL" | "XTN" | "XTO" | "XTR" | "XTT" | "XTU" | "XTV" | "XTW" | "XTY" | "XTZ" | "XUC" | "XUN" | "XVA" | "XVG" | "XVI" | "XVK" | "XVL" | "XVO" | "XVP" | "XVQ" | "XVN" | "XVR" | "XVS" | "XVY" | "XWA" | "XWB" | "XWC" | "XWD" | "XWF" | "XWG" | "XWH" | "XWJ" | "XWK" | "XWL" | "XWM" | "XWN" | "XWP" | "XWQ" | "XWR" | "XWS" | "XWT" | "XWU" | "XWV" | "XWW" | "XWX" | "XWY" | "XWZ" | "XXA" | "XXB" | "XXC" | "XXD" | "XXF" | "XXG" | "XXH" | "XXJ" | "XXK" | "XYA" | "XYB" | "XYC" | "XYD" | "XYF" | "XYG" | "XYH" | "XYJ" | "XYK" | "XYL" | "XYM" | "XYN" | "XYP" | "XYQ" | "XYR" | "XYS" | "XYT" | "XYV" | "XYW" | "XYX" | "XYY" | "XYZ" | "XZA" | "XZB" | "XZC" | "XZD" | "XZF" | "XZG" | "XZH" | "XZJ" | "XZK" | "XZL" | "XZM" | "XZN" | "XZP" | "XZQ" | "XZR" | "XZS" | "XZT" | "XZU" | "XZV" | "XZW" | "XZX" | "XZY" | "XZZ")[];
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        tradeDelivery: {
                            key: string;
                            type: "object";
                            description: string;
                            required: false;
                            shape: {
                                billedQuantity: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    shape: {
                                        amount: {
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        unitMeasureCode: {
                                            type: ("10" | "11" | "13" | "14" | "15" | "20" | "21" | "22" | "23" | "24" | "25" | "27" | "28" | "33" | "34" | "35" | "37" | "38" | "40" | "41" | "56" | "57" | "58" | "59" | "60" | "61" | "74" | "77" | "80" | "81" | "85" | "87" | "89" | "91" | "AA" | "AB" | "AD" | "AE" | "AWG" | "CLF" | "COU" | "GIP" | "KGS" | "MKD" | "MMK" | "SCR" | "STN" | "XAF" | "XAG" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "AL" | "AS" | "ASM" | "AI" | "AQ" | "AZ" | "BB" | "CG" | "DJ" | "DMA" | "GQ" | "FR" | "GF" | "GM" | "GE" | "GL" | "GP" | "HM" | "VA" | "IE" | "JM" | "JE" | "KI" | "KR" | "KW" | "KWT" | "LA" | "LS" | "LR" | "LBR" | "LY" | "LUX" | "MLT" | "MTQ" | "MD" | "MC" | "MAR" | "NA" | "NL" | "NCL" | "NU" | "NIU" | "NF" | "PS" | "PR" | "QA" | "SG" | "SX" | "LK" | "SR" | "SYR" | "TKM" | "GB" | "FC" | "DAD" | "FH" | "HH" | "KO" | "LF" | "OA" | "RH" | "XAA" | "ACR" | "ACT" | "BAR" | "BLD" | "BLL" | "CUR" | "1I" | "2A" | "2B" | "2C" | "2G" | "2H" | "2I" | "2J" | "2K" | "2L" | "2M" | "2N" | "2P" | "2Q" | "2R" | "2U" | "2X" | "2Y" | "2Z" | "3B" | "3C" | "4C" | "4G" | "4H" | "4K" | "4L" | "4M" | "4N" | "4O" | "4P" | "4Q" | "4R" | "4T" | "4U" | "4W" | "4X" | "5A" | "5B" | "5E" | "5J" | "A10" | "A11" | "A12" | "A13" | "A14" | "A15" | "A16" | "A17" | "A18" | "A19" | "A2" | "A20" | "A21" | "A22" | "A23" | "A24" | "A26" | "A27" | "A28" | "A29" | "A3" | "A30" | "A31" | "A32" | "A33" | "A34" | "A35" | "A36" | "A37" | "A38" | "A39" | "A4" | "A40" | "A41" | "A42" | "A43" | "A44" | "A45" | "A47" | "A48" | "A49" | "A5" | "A53" | "A54" | "A55" | "A56" | "A59" | "A6" | "A68" | "A69" | "A7" | "A70" | "A71" | "A73" | "A74" | "A75" | "A76" | "A8" | "A84" | "A85" | "A86" | "A87" | "A88" | "A89" | "A9" | "A90" | "A91" | "A93" | "A94" | "A95" | "A96" | "A97" | "A98" | "A99" | "AH" | "AK" | "AMH" | "AMP" | "ANN" | "APZ" | "ASU" | "ATM" | "AY" | "B1" | "B10" | "B11" | "B12" | "B13" | "B14" | "B15" | "B16" | "B17" | "B18" | "B19" | "B20" | "B21" | "B22" | "B23" | "B24" | "B25" | "B26" | "B27" | "B28" | "B29" | "B3" | "B30" | "B31" | "B32" | "B33" | "B34" | "B35" | "B4" | "B41" | "B42" | "B43" | "B44" | "B45" | "B46" | "B47" | "B48" | "B49" | "B50" | "B52" | "B53" | "B54" | "B55" | "B56" | "B57" | "B58" | "B59" | "B60" | "B61" | "B62" | "B63" | "B64" | "B66" | "B67" | "B68" | "B69" | "B7" | "B70" | "B71" | "B72" | "B73" | "B74" | "B75" | "B76" | "B77" | "B78" | "B79" | "B8" | "B80" | "B81" | "B82" | "B83" | "B84" | "B85" | "B86" | "B87" | "B88" | "B89" | "B90" | "B91" | "B92" | "B93" | "B94" | "B95" | "B96" | "B97" | "B98" | "B99" | "BFT" | "BHP" | "BIL" | "BP" | "BPM" | "BQL" | "BTU" | "BUA" | "BUI" | "C0" | "C10" | "C11" | "C12" | "C13" | "C14" | "C15" | "C16" | "C17" | "C18" | "C19" | "C20" | "C21" | "C22" | "C23" | "C24" | "C25" | "C26" | "C27" | "C28" | "C29" | "C3" | "C30" | "C31" | "C32" | "C33" | "C34" | "C35" | "C36" | "C37" | "C38" | "C39" | "C40" | "C41" | "C42" | "C43" | "C44" | "C45" | "C46" | "C47" | "C48" | "C49" | "C50" | "C51" | "C52" | "C53" | "C54" | "C55" | "C56" | "C57" | "C58" | "C59" | "C60" | "C61" | "C62" | "C63" | "C64" | "C65" | "C66" | "C67" | "C68" | "C69" | "C7" | "C70" | "C71" | "C72" | "C73" | "C74" | "C75" | "C76" | "C78" | "C79" | "C8" | "C80" | "C81" | "C82" | "C83" | "C84" | "C85" | "C86" | "C87" | "C88" | "C89" | "C9" | "C90" | "C91" | "C92" | "C93" | "C94" | "C95" | "C96" | "C97" | "C99" | "CCT" | "CDL" | "CEL" | "CEN" | "CGM" | "CKG" | "CLT" | "CMK" | "CMQ" | "CMT" | "CNP" | "CNT" | "CTG" | "CTM" | "CTN" | "CWA" | "CWI" | "D03" | "D04" | "D1" | "D10" | "D11" | "D12" | "D13" | "D15" | "D16" | "D17" | "D18" | "D19" | "D2" | "D20" | "D21" | "D22" | "D23" | "D24" | "D25" | "D26" | "D27" | "D29" | "D30" | "D31" | "D32" | "D33" | "D34" | "D36" | "D41" | "D42" | "D43" | "D44" | "D45" | "D46" | "D47" | "D48" | "D49" | "D5" | "D50" | "D51" | "D52" | "D53" | "D54" | "D55" | "D56" | "D57" | "D58" | "D59" | "D6" | "D60" | "D61" | "D62" | "D63" | "D65" | "D68" | "D69" | "D73" | "D74" | "D77" | "D78" | "D80" | "D81" | "D82" | "D83" | "D85" | "D86" | "D87" | "D88" | "D89" | "D91" | "D93" | "D94" | "D95" | "DAA" | "DAY" | "DB" | "DBM" | "DBW" | "DD" | "DEC" | "DG" | "DLT" | "DMK" | "DMO" | "DMQ" | "DMT" | "DN" | "DPC" | "DPR" | "DPT" | "DRA" | "DRI" | "DRL" | "DT" | "DTN" | "DWT" | "DZN" | "DZP" | "E01" | "E07" | "E08" | "E09" | "E10" | "E12" | "E14" | "E15" | "E16" | "E17" | "E18" | "E19" | "E20" | "E21" | "E22" | "E23" | "E25" | "E27" | "E28" | "E30" | "E31" | "E32" | "E33" | "E34" | "E35" | "E36" | "E37" | "E38" | "E39" | "E4" | "E40" | "E41" | "E42" | "E43" | "E44" | "E45" | "E46" | "E47" | "E48" | "E49" | "E50" | "E51" | "E52" | "E53" | "E54" | "E55" | "E56" | "E57" | "E58" | "E59" | "E60" | "E61" | "E62" | "E63" | "E64" | "E65" | "E66" | "E67" | "E68" | "E69" | "E70" | "E71" | "E72" | "E73" | "E74" | "E75" | "E76" | "E77" | "E78" | "E79" | "E80" | "E81" | "E82" | "E83" | "E84" | "E85" | "E86" | "E87" | "E88" | "E89" | "E90" | "E91" | "E92" | "E93" | "E94" | "E95" | "E96" | "E97" | "E98" | "E99" | "EA" | "EB" | "EQ" | "F01" | "F02" | "F03" | "F04" | "F05" | "F06" | "F07" | "F08" | "F10" | "F11" | "F12" | "F13" | "F14" | "F15" | "F16" | "F17" | "F18" | "F19" | "F20" | "F21" | "F22" | "F23" | "F24" | "F25" | "F26" | "F27" | "F28" | "F29" | "F30" | "F31" | "F32" | "F33" | "F34" | "F35" | "F36" | "F37" | "F38" | "F39" | "F40" | "F41" | "F42" | "F43" | "F44" | "F45" | "F46" | "F47" | "F48" | "F49" | "F50" | "F51" | "F52" | "F53" | "F54" | "F55" | "F56" | "F57" | "F58" | "F59" | "F60" | "F61" | "F62" | "F63" | "F64" | "F65" | "F66" | "F67" | "F68" | "F69" | "F70" | "F71" | "F72" | "F73" | "F74" | "F75" | "F76" | "F77" | "F78" | "F79" | "F80" | "F81" | "F82" | "F83" | "F84" | "F85" | "F86" | "F87" | "F88" | "F89" | "F90" | "F91" | "F92" | "F93" | "F94" | "F95" | "F96" | "F97" | "F98" | "F99" | "FAH" | "FAR" | "FBM" | "FF" | "FIT" | "FL" | "FNU" | "FOT" | "FP" | "FS" | "FTK" | "FTQ" | "G01" | "G04" | "G05" | "G06" | "G08" | "G09" | "G10" | "G11" | "G12" | "G13" | "G14" | "G15" | "G16" | "G17" | "G18" | "G19" | "G2" | "G20" | "G21" | "G23" | "G24" | "G25" | "G26" | "G27" | "G28" | "G29" | "G3" | "G30" | "G31" | "G32" | "G33" | "G34" | "G35" | "G36" | "G37" | "G38" | "G39" | "G40" | "G41" | "G42" | "G43" | "G44" | "G45" | "G46" | "G47" | "G48" | "G49" | "G50" | "G51" | "G52" | "G53" | "G54" | "G55" | "G56" | "G57" | "G58" | "G59" | "G60" | "G61" | "G62" | "G63" | "G64" | "G65" | "G66" | "G67" | "G68" | "G69" | "G70" | "G71" | "G72" | "G73" | "G74" | "G75" | "G76" | "G77" | "G78" | "G79" | "G80" | "G81" | "G82" | "G83" | "G84" | "G85" | "G86" | "G87" | "G88" | "G89" | "G90" | "G91" | "G92" | "G93" | "G94" | "G95" | "G96" | "G97" | "G98" | "G99" | "GBQ" | "GDW" | "GFI" | "GGR" | "GIA" | "GIC" | "GII" | "GJ" | "GLD" | "GLI" | "GLL" | "GO" | "GRM" | "GRN" | "GRO" | "GV" | "GWH" | "H03" | "H04" | "H05" | "H06" | "H07" | "H08" | "H09" | "H10" | "H11" | "H12" | "H13" | "H14" | "H15" | "H16" | "H18" | "H19" | "H20" | "H21" | "H22" | "H23" | "H24" | "H25" | "H26" | "H27" | "H28" | "H29" | "H30" | "H31" | "H32" | "H33" | "H34" | "H35" | "H36" | "H37" | "H38" | "H39" | "H40" | "H41" | "H42" | "H43" | "H44" | "H45" | "H46" | "H47" | "H48" | "H49" | "H50" | "H51" | "H52" | "H53" | "H54" | "H55" | "H56" | "H57" | "H58" | "H59" | "H60" | "H61" | "H62" | "H63" | "H64" | "H65" | "H66" | "H67" | "H68" | "H69" | "H70" | "H71" | "H72" | "H73" | "H74" | "H75" | "H76" | "H77" | "H79" | "H80" | "H81" | "H82" | "H83" | "H84" | "H85" | "H87" | "H88" | "H89" | "H90" | "H91" | "H92" | "H93" | "H94" | "H95" | "H96" | "H98" | "H99" | "HA" | "HAD" | "HBA" | "HBX" | "HC" | "HDW" | "HEA" | "HGM" | "HIU" | "HKM" | "HLT" | "HMO" | "HMQ" | "HMT" | "HPA" | "HTZ" | "HUR" | "HWE" | "IA" | "INH" | "INK" | "INQ" | "ISD" | "IU" | "IUG" | "IV" | "J10" | "J12" | "J13" | "J14" | "J15" | "J16" | "J17" | "J18" | "J19" | "J2" | "J20" | "J21" | "J22" | "J23" | "J24" | "J25" | "J26" | "J27" | "J28" | "J29" | "J30" | "J31" | "J32" | "J33" | "J34" | "J35" | "J36" | "J38" | "J39" | "J40" | "J41" | "J42" | "J43" | "J44" | "J45" | "J46" | "J47" | "J48" | "J49" | "J50" | "J51" | "J52" | "J53" | "J54" | "J55" | "J56" | "J57" | "J58" | "J59" | "J60" | "J61" | "J62" | "J63" | "J64" | "J65" | "J66" | "J67" | "J68" | "J69" | "J70" | "J71" | "J72" | "J73" | "J74" | "J75" | "J76" | "J78" | "J79" | "J81" | "J82" | "J83" | "J84" | "J85" | "J87" | "J90" | "J91" | "J92" | "J93" | "J95" | "J96" | "J97" | "J98" | "J99" | "JK" | "JNT" | "JOU" | "JPS" | "JWL" | "K1" | "K10" | "K11" | "K12" | "K13" | "K14" | "K15" | "K16" | "K17" | "K18" | "K19" | "K2" | "K20" | "K21" | "K22" | "K23" | "K26" | "K27" | "K28" | "K3" | "K30" | "K31" | "K32" | "K33" | "K34" | "K35" | "K36" | "K37" | "K38" | "K39" | "K40" | "K41" | "K42" | "K43" | "K45" | "K46" | "K47" | "K48" | "K49" | "K50" | "K51" | "K52" | "K53" | "K54" | "K55" | "K58" | "K59" | "K6" | "K60" | "K61" | "K62" | "K63" | "K64" | "K65" | "K66" | "K67" | "K68" | "K69" | "K70" | "K71" | "K73" | "K74" | "K75" | "K76" | "K77" | "K78" | "K79" | "K80" | "K81" | "K82" | "K83" | "K84" | "K85" | "K86" | "K87" | "K88" | "K89" | "K90" | "K91" | "K92" | "K93" | "K94" | "K95" | "K96" | "K97" | "K98" | "K99" | "KA" | "KAT" | "KB" | "KBA" | "KCC" | "KDW" | "KEL" | "KGM" | "KHY" | "KHZ" | "KIC" | "KIP" | "KJ" | "KJO" | "KL" | "KLK" | "KLX" | "KMA" | "KMH" | "KMK" | "KMQ" | "KMT" | "KNI" | "KNM" | "KNS" | "KNT" | "KPA" | "KPH" | "KPO" | "KPP" | "KSD" | "KSH" | "KT" | "KTN" | "KUR" | "KVA" | "KVR" | "KVT" | "KWH" | "KWN" | "KWO" | "KWS" | "KWY" | "KX" | "L10" | "L11" | "L12" | "L13" | "L14" | "L15" | "L16" | "L17" | "L18" | "L19" | "L2" | "L20" | "L21" | "L23" | "L24" | "L25" | "L26" | "L27" | "L28" | "L29" | "L30" | "L31" | "L32" | "L33" | "L34" | "L35" | "L36" | "L37" | "L38" | "L39" | "L40" | "L41" | "L42" | "L43" | "L44" | "L45" | "L46" | "L47" | "L48" | "L49" | "L50" | "L51" | "L52" | "L53" | "L54" | "L55" | "L56" | "L57" | "L58" | "L59" | "L60" | "L63" | "L64" | "L65" | "L66" | "L67" | "L68" | "L69" | "L70" | "L71" | "L72" | "L73" | "L74" | "L75" | "L76" | "L77" | "L78" | "L79" | "L80" | "L81" | "L82" | "L83" | "L84" | "L85" | "L86" | "L87" | "L88" | "L89" | "L90" | "L91" | "L92" | "L93" | "L94" | "L95" | "L96" | "L98" | "L99" | "LAC" | "LBT" | "LD" | "LEF" | "LH" | "LM" | "LN" | "LO" | "LP" | "LPA" | "LTN" | "LTR" | "LUB" | "LUM" | "M1" | "M10" | "M11" | "M12" | "M13" | "M14" | "M15" | "M16" | "M17" | "M18" | "M19" | "M20" | "M21" | "M22" | "M23" | "M24" | "M25" | "M26" | "M27" | "M29" | "M30" | "M31" | "M32" | "M33" | "M34" | "M35" | "M36" | "M37" | "M38" | "M39" | "M4" | "M40" | "M41" | "M42" | "M43" | "M44" | "M45" | "M46" | "M47" | "M48" | "M49" | "M5" | "M50" | "M51" | "M52" | "M53" | "M55" | "M56" | "M57" | "M58" | "M59" | "M60" | "M61" | "M62" | "M63" | "M64" | "M65" | "M66" | "M67" | "M68" | "M69" | "M7" | "M70" | "M71" | "M72" | "M73" | "M74" | "M75" | "M76" | "M77" | "M78" | "M79" | "M80" | "M81" | "M82" | "M83" | "M84" | "M85" | "M86" | "M87" | "M88" | "M89" | "M9" | "M90" | "M91" | "M92" | "M93" | "M94" | "M95" | "M96" | "M97" | "M98" | "M99" | "MAH" | "MAL" | "MAM" | "MAW" | "MBE" | "MBF" | "MBR" | "MCU" | "MGM" | "MHZ" | "MIK" | "MIL" | "MIN" | "MIO" | "MIU" | "MKM" | "MKW" | "MLD" | "MMQ" | "MMT" | "MND" | "MNJ" | "MON" | "MPA" | "MQD" | "MQH" | "MQM" | "MQS" | "MQW" | "MRD" | "MRM" | "MRW" | "MSK" | "MTK" | "MTR" | "MTS" | "MTZ" | "MVA" | "MWH" | "N1" | "N10" | "N11" | "N12" | "N13" | "N14" | "N15" | "N16" | "N17" | "N18" | "N19" | "N20" | "N21" | "N22" | "N23" | "N24" | "N25" | "N26" | "N27" | "N28" | "N29" | "N3" | "N30" | "N31" | "N32" | "N33" | "N34" | "N35" | "N36" | "N37" | "N38" | "N39" | "N40" | "N41" | "N42" | "N43" | "N44" | "N45" | "N46" | "N47" | "N48" | "N49" | "N50" | "N51" | "N52" | "N53" | "N54" | "N55" | "N56" | "N57" | "N58" | "N59" | "N60" | "N61" | "N62" | "N63" | "N64" | "N65" | "N66" | "N67" | "N68" | "N69" | "N70" | "N71" | "N72" | "N73" | "N74" | "N75" | "N76" | "N77" | "N78" | "N79" | "N80" | "N81" | "N82" | "N83" | "N84" | "N85" | "N86" | "N87" | "N88" | "N89" | "N90" | "N91" | "N92" | "N93" | "N94" | "N95" | "N96" | "N97" | "N98" | "N99" | "NAR" | "NEW" | "NIL" | "NM3" | "NMI" | "NMP" | "NPT" | "NT" | "NTU" | "NX" | "ODE" | "ODG" | "ODK" | "ODM" | "OHM" | "ON" | "ONZ" | "OPM" | "OT" | "OZA" | "OZI" | "P1" | "P10" | "P11" | "P12" | "P13" | "P14" | "P15" | "P16" | "P17" | "P18" | "P19" | "P2" | "P20" | "P21" | "P22" | "P23" | "P24" | "P25" | "P26" | "P27" | "P28" | "P29" | "P30" | "P31" | "P32" | "P33" | "P34" | "P35" | "P36" | "P37" | "P38" | "P39" | "P40" | "P41" | "P42" | "P43" | "P44" | "P45" | "P46" | "P47" | "P48" | "P49" | "P5" | "P50" | "P51" | "P52" | "P53" | "P54" | "P55" | "P56" | "P57" | "P58" | "P59" | "P60" | "P61" | "P62" | "P63" | "P64" | "P65" | "P66" | "P67" | "P68" | "P69" | "P70" | "P71" | "P72" | "P73" | "P74" | "P75" | "P76" | "P77" | "P78" | "P79" | "P80" | "P81" | "P82" | "P83" | "P84" | "P85" | "P86" | "P87" | "P88" | "P89" | "P90" | "P91" | "P92" | "P93" | "P94" | "P95" | "P96" | "P97" | "P98" | "P99" | "PAL" | "PD" | "PFL" | "PGL" | "PI" | "PLA" | "PO" | "PQ" | "PTD" | "PTI" | "PTL" | "PTN" | "Q10" | "Q11" | "Q12" | "Q13" | "Q14" | "Q15" | "Q16" | "Q17" | "Q18" | "Q19" | "Q20" | "Q21" | "Q22" | "Q23" | "Q24" | "Q25" | "Q26" | "Q27" | "Q28" | "Q29" | "Q3" | "Q30" | "Q31" | "Q32" | "Q33" | "Q34" | "Q35" | "Q36" | "Q37" | "Q38" | "Q39" | "Q40" | "Q41" | "Q42" | "QAN" | "QB" | "QR" | "QTD" | "QTI" | "QTL" | "QTR" | "R1" | "R9" | "RM" | "ROM" | "RP" | "RPM" | "RPS" | "RT" | "S3" | "S4" | "SAN" | "SCO" | "SEC" | "SET" | "SIE" | "SM3" | "SMI" | "SQ" | "SQR" | "STC" | "STI" | "STK" | "STL" | "STW" | "SW" | "T0" | "T3" | "TAH" | "TAN" | "TI" | "TIC" | "TIP" | "TMS" | "TNE" | "TP" | "TPI" | "TPR" | "TQD" | "TRL" | "TST" | "TTS" | "U1" | "U2" | "UB" | "UC" | "VLT" | "VP" | "W2" | "WA" | "WB" | "WCD" | "WE" | "WEB" | "WEE" | "WG" | "WHR" | "WM" | "WSD" | "WTT" | "X1" | "YDK" | "YDQ" | "YRD" | "Z11" | "Z9" | "ZP" | "ZZ" | "X1A" | "X1B" | "X1D" | "X1F" | "X1G" | "X1W" | "X2C" | "X3A" | "X3H" | "X43" | "X44" | "X4A" | "X4B" | "X4C" | "X4D" | "X4F" | "X4G" | "X4H" | "X5H" | "X5L" | "X5M" | "X6H" | "X6P" | "X7A" | "X7B" | "X8A" | "X8B" | "X8C" | "XAB" | "XAC" | "XAD" | "XAE" | "XAH" | "XAI" | "XAJ" | "XAL" | "XAM" | "XAP" | "XAT" | "XAV" | "XB4" | "XBE" | "XBF" | "XBG" | "XBH" | "XBI" | "XBJ" | "XBK" | "XBL" | "XBM" | "XBN" | "XBO" | "XBP" | "XBQ" | "XBR" | "XBS" | "XBT" | "XBU" | "XBV" | "XBW" | "XBX" | "XBY" | "XBZ" | "XCA" | "XCB" | "XCC" | "XCE" | "XCF" | "XCG" | "XCH" | "XCI" | "XCJ" | "XCK" | "XCL" | "XCM" | "XCN" | "XCO" | "XCP" | "XCQ" | "XCR" | "XCS" | "XCT" | "XCU" | "XCV" | "XCW" | "XCX" | "XCY" | "XCZ" | "XDA" | "XDB" | "XDC" | "XDG" | "XDH" | "XDI" | "XDJ" | "XDK" | "XDL" | "XDM" | "XDN" | "XDP" | "XDS" | "XDT" | "XDU" | "XDV" | "XDW" | "XDX" | "XDY" | "XEC" | "XED" | "XEE" | "XEF" | "XEG" | "XEH" | "XEI" | "XEN" | "XFB" | "XFC" | "XFD" | "XFE" | "XFI" | "XFL" | "XFO" | "XFP" | "XFR" | "XFT" | "XFW" | "XFX" | "XGB" | "XGI" | "XGL" | "XGR" | "XGU" | "XGY" | "XGZ" | "XHA" | "XHB" | "XHC" | "XHG" | "XHN" | "XHR" | "XIA" | "XIB" | "XIC" | "XID" | "XIE" | "XIF" | "XIG" | "XIH" | "XIK" | "XIL" | "XIN" | "XIZ" | "XJB" | "XJC" | "XJG" | "XJR" | "XJT" | "XJY" | "XKG" | "XKI" | "XLE" | "XLG" | "XLT" | "XLU" | "XLV" | "XLZ" | "XMA" | "XMB" | "XMC" | "XME" | "XMR" | "XMS" | "XMT" | "XMW" | "XMX" | "XNA" | "XNE" | "XNF" | "XNG" | "XNS" | "XNT" | "XNU" | "XNV" | "XOA" | "XOB" | "XOC" | "XOD" | "XOE" | "XOK" | "XOT" | "XOU" | "XOG" | "XOH" | "XOI" | "XOJ" | "XOL" | "XOM" | "XON" | "XOP" | "XOQ" | "XOR" | "XOS" | "XOV" | "XOW" | "XOX" | "XOY" | "XOZ" | "XO1" | "XO2" | "XO3" | "XO4" | "XO5" | "XO6" | "XO7" | "XO8" | "XO9" | "XP1" | "XP3" | "XP4" | "XP2" | "XPA" | "XPB" | "XPC" | "XPE" | "XPG" | "XPH" | "XPI" | "XPJ" | "XPK" | "XPL" | "XPN" | "XPO" | "XPP" | "XPR" | "XPU" | "XPV" | "XPX" | "XPY" | "XPZ" | "XQA" | "XQB" | "XQC" | "XQD" | "XQF" | "XQG" | "XQH" | "XQJ" | "XQK" | "XQL" | "XQM" | "XQN" | "XQP" | "XQQ" | "XQR" | "XQS" | "XRD" | "XRG" | "XRJ" | "XRK" | "XRL" | "XRO" | "XRT" | "XRZ" | "XSA" | "XSB" | "XSC" | "XSD" | "XSE" | "XSH" | "XSI" | "XSK" | "XSL" | "XSM" | "XSO" | "XSP" | "XSS" | "XST" | "XSV" | "XSW" | "XSY" | "XSZ" | "XT1" | "XTB" | "XTC" | "XTD" | "XTE" | "XTG" | "XTI" | "XTK" | "XTL" | "XTN" | "XTO" | "XTR" | "XTT" | "XTU" | "XTV" | "XTW" | "XTY" | "XTZ" | "XUC" | "XUN" | "XVA" | "XVG" | "XVI" | "XVK" | "XVL" | "XVO" | "XVP" | "XVQ" | "XVN" | "XVR" | "XVS" | "XVY" | "XWA" | "XWB" | "XWC" | "XWD" | "XWF" | "XWG" | "XWH" | "XWJ" | "XWK" | "XWL" | "XWM" | "XWN" | "XWP" | "XWQ" | "XWR" | "XWS" | "XWT" | "XWU" | "XWV" | "XWW" | "XWX" | "XWY" | "XWZ" | "XXA" | "XXB" | "XXC" | "XXD" | "XXF" | "XXG" | "XXH" | "XXJ" | "XXK" | "XYA" | "XYB" | "XYC" | "XYD" | "XYF" | "XYG" | "XYH" | "XYJ" | "XYK" | "XYL" | "XYM" | "XYN" | "XYP" | "XYQ" | "XYR" | "XYS" | "XYT" | "XYV" | "XYW" | "XYX" | "XYY" | "XYZ" | "XZA" | "XZB" | "XZC" | "XZD" | "XZF" | "XZG" | "XZH" | "XZJ" | "XZK" | "XZL" | "XZM" | "XZN" | "XZP" | "XZQ" | "XZR" | "XZS" | "XZT" | "XZU" | "XZV" | "XZW" | "XZX" | "XZY" | "XZZ")[];
                                            description: string;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                        tradeSettlement: {
                            key: string;
                            type: "object";
                            description: string;
                            required: false;
                            shape: {
                                tradeTax: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    shape: {
                                        typeCode: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        categoryCode: {
                                            key: string;
                                            type: ("B" | "F" | "S" | "A" | "AA" | "AB" | "AC" | "AD" | "AE" | "C" | "D" | "E" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "O" | "Z")[];
                                            description: string;
                                            xpath: string;
                                        };
                                        rateApplicablePercent: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                linePeriod: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        startDate: {
                                            key: string;
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString/@format": string;
                                            };
                                        };
                                        endDate: {
                                            key: string;
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                allowances: {
                                    key: string;
                                    type: "object[]";
                                    required: false;
                                    description: string;
                                    group: "line-allowances";
                                    shape: {
                                        actualAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[line-allowances]/ram:ChargeIndicator/udt:Indicator": string;
                                            };
                                        };
                                        reasonCode: {
                                            key: string;
                                            type: ("3" | "1" | "2" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "40" | "41" | "42" | "44" | "45" | "46" | "47" | "48" | "49" | "50" | "51" | "52" | "53" | "54" | "55" | "56" | "57" | "58" | "59" | "60" | "61" | "62" | "63" | "64" | "65" | "66" | "67" | "68" | "69" | "70" | "71" | "72" | "73" | "74" | "75" | "76" | "77" | "78" | "79" | "80" | "81" | "82" | "83" | "84" | "85" | "86" | "87" | "88" | "89" | "90" | "91" | "92" | "93" | "94" | "95" | "96" | "97" | "98" | "99" | "100" | "101" | "102" | "103" | "104" | "105" | "106")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        reason: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                charges: {
                                    key: string;
                                    type: "object[]";
                                    required: false;
                                    description: string;
                                    group: "line-charges";
                                    sibling: (data: any, { line }: {
                                        [key: string]: number;
                                    }) => any;
                                    shape: {
                                        actualAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[line-charges]/ram:ChargeIndicator/udt:Indicator": string;
                                            };
                                        };
                                        reasonCode: {
                                            key: string;
                                            type: ("AA" | "AED" | "CAD" | "AU" | "CA" | "CAN" | "CAF" | "CD" | "CG" | "EG" | "ER" | "FI" | "IS" | "ID" | "IR" | "LA" | "ML" | "PA" | "PL" | "RE" | "SH" | "SM" | "SA" | "SG" | "TT" | "TV" | "ZZZ" | "FC" | "AAA" | "AAC" | "AAD" | "AAE" | "AAF" | "AAH" | "AAI" | "AAS" | "AAT" | "AAV" | "AAY" | "AAZ" | "ABA" | "ABB" | "ABC" | "ABD" | "ABF" | "ABK" | "ABL" | "ABN" | "ABR" | "ABS" | "ABT" | "ABU" | "ACF" | "ACG" | "ACH" | "ACI" | "ACJ" | "ACK" | "ACL" | "ACM" | "ACS" | "ADC" | "ADE" | "ADJ" | "ADK" | "ADL" | "ADM" | "ADN" | "ADO" | "ADP" | "ADQ" | "ADR" | "ADT" | "ADW" | "ADY" | "ADZ" | "AEA" | "AEB" | "AEC" | "AEF" | "AEH" | "AEI" | "AEJ" | "AEK" | "AEL" | "AEM" | "AEN" | "AEO" | "AEP" | "AES" | "AET" | "AEU" | "AEV" | "AEW" | "AEX" | "AEY" | "AEZ" | "AJ" | "CAB" | "CAE" | "CAI" | "CAJ" | "CAK" | "CAL" | "CAM" | "CAO" | "CAP" | "CAQ" | "CAR" | "CAS" | "CAT" | "CAU" | "CAV" | "CAW" | "CAX" | "CAY" | "CAZ" | "CS" | "CT" | "DAB" | "DAC" | "DAD" | "DAF" | "DAG" | "DAH" | "DAI" | "DAJ" | "DAK" | "DAL" | "DAM" | "DAN" | "DAO" | "DAP" | "DAQ" | "DL" | "EP" | "FAA" | "FAB" | "FAC" | "FH" | "GAA" | "HAA" | "HD" | "HH" | "IAA" | "IAB" | "IF" | "KO" | "L1" | "LAA" | "LAB" | "LF" | "MAE" | "MI" | "NAA" | "OA" | "PAA" | "PC" | "RAB" | "RAC" | "RAD" | "RAF" | "RF" | "RH" | "RV" | "SAA" | "SAD" | "SAE" | "SAI" | "SU" | "TAB" | "TAC" | "V1" | "V2" | "WH" | "XAA" | "YY")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        reason: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                monetarySummation: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        lineTotalAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };
        };
    };
    mask: {
        readonly businessProcessType: "BT-23";
        readonly specificationIdentifier: "BT-24";
        readonly number: "BT-1";
        readonly typeCode: "BT-3";
        readonly issueDate: "BT-2";
        readonly includedNote: "BG-1";
        readonly transaction: readonly ["BG-25-00", {
            readonly line: readonly ["BG-25", {
                readonly identifier: "BT-126";
                readonly note: "BT-127";
                readonly tradeProduct: readonly ["BG-31", {
                    readonly globalIdentifier: "BT-157";
                    readonly name: "BT-153";
                }];
                readonly tradeAgreement: readonly ["BG-29", {
                    readonly grossTradePrice: readonly ["BT-148-00", {
                        readonly chargeAmount: "BT-148";
                        readonly basisQuantity: "BT-149-1";
                        readonly discounts: readonly ["BT-147-00", {
                            readonly actualAmount: "BT-147";
                        }];
                    }];
                    readonly netTradePrice: readonly ["BT-146-00", {
                        readonly chargeAmount: "BT-146";
                        readonly basisQuantity: "BT-149";
                    }];
                }];
                readonly tradeDelivery: readonly ["BT-129-00", {
                    readonly billedQuantity: "BT-129";
                }];
                readonly tradeSettlement: readonly ["BG-30-00", {
                    readonly tradeTax: readonly ["BG-30", {
                        readonly typeCode: "BT-151-0";
                        readonly categoryCode: "BT-151";
                        readonly rateApplicablePercent: "BT-152";
                    }];
                    readonly linePeriod: readonly ["BG-26", {
                        readonly startDate: "BT-134";
                        readonly endDate: "BT-135";
                    }];
                    readonly allowances: readonly ["BG-27", {
                        readonly actualAmount: "BT-136";
                        readonly reasonCode: "BT-140";
                        readonly reason: "BT-139";
                    }];
                    readonly charges: readonly ["BG-28", {
                        readonly actualAmount: "BT-141";
                        readonly reasonCode: "BT-145";
                        readonly reason: "BT-144";
                    }];
                    readonly monetarySummation: readonly ["BT-131-00", {
                        readonly lineTotalAmount: "BT-131";
                    }];
                }];
            }];
            readonly tradeAgreement: readonly ["BT-10-00", {
                readonly buyerReference: "BT-10";
                readonly seller: readonly ["BG-4", {
                    readonly identifier: "BT-29";
                    readonly globalIdentifier: "BT-29-0";
                    readonly name: "BT-27";
                    readonly organization: readonly ["BT-30-00", {
                        readonly registrationIdentifier: "BT-30";
                        readonly tradingName: "BT-28";
                    }];
                    readonly postalAddress: readonly ["BG-5", {
                        readonly postCode: "BT-38";
                        readonly line1: "BT-35";
                        readonly line2: "BT-36";
                        readonly line3: "BT-162";
                        readonly city: "BT-37";
                        readonly countryCode: "BT-40";
                        readonly countrySubdivision: "BT-39";
                        readonly electronicAddress: "BT-34";
                    }];
                    readonly taxRegistration: readonly ["seller-tax-registration", {
                        readonly vatIdentifier: "BT-31";
                        readonly localIdentifier: "BT-32";
                    }];
                }];
                readonly buyer: readonly ["BG-7", {
                    readonly identifier: "BT-46";
                    readonly globalIdentifier: "BT-46-00";
                    readonly name: "BT-44";
                    readonly organization: readonly ["BT-47-00", {
                        readonly registrationIdentifier: "BT-47";
                    }];
                    readonly postalAddress: readonly ["BG-8", {
                        readonly postCode: "BT-53";
                        readonly line1: "BT-50";
                        readonly line2: "BT-51";
                        readonly line3: "BT-163";
                        readonly city: "BT-52";
                        readonly countryCode: "BT-55";
                        readonly countrySubdivision: "BT-54";
                        readonly electronicAddress: "BT-49";
                    }];
                    readonly taxRegistration: readonly ["buyer-tax-registration", {
                        readonly vatIdentifier: "BT-48";
                    }];
                }];
                readonly sellerTaxRepresentative: readonly ["BG-11", {
                    readonly name: "BT-62";
                    readonly postalAddress: readonly ["BG-12", {
                        readonly postCode: "BT-67";
                        readonly line1: "BT-64";
                        readonly line2: "BT-65";
                        readonly line3: "BT-164";
                        readonly city: "BT-66";
                        readonly countryCode: "BT-69";
                        readonly countrySubdivision: "BT-68";
                    }];
                }];
                readonly associatedOrder: readonly ["BT-13-00", {
                    readonly purchaseOrderReference: "BT-13";
                }];
                readonly associatedContract: readonly ["BT-12-00", {
                    readonly reference: "BT-12";
                }];
            }];
            readonly tradeDelivery: readonly ["BG-13-00", {
                readonly shipTo: readonly ["BG-13", {
                    readonly identifier: "BT-71";
                    readonly globalIdentifier: "BT-71-00";
                    readonly name: "BT-70";
                    readonly postalAddress: readonly ["BG-15", {
                        readonly postCode: "BT-78";
                        readonly line1: "BT-75";
                        readonly line2: "BT-76";
                        readonly line3: "BT-165";
                        readonly city: "BT-77";
                        readonly countryCode: "BT-80";
                        readonly countrySubdivision: "BT-79";
                    }];
                }];
                readonly information: readonly ["BT-72-00", {
                    readonly deliveryDate: "BT-72";
                }];
                readonly despatchAdvice: readonly ["BT-16-00", {
                    readonly issuerAssignedID: "BT-16";
                }];
            }];
            readonly tradeSettlement: readonly ["BG-19", {
                readonly creditorIdentifier: "BT-90";
                readonly remittanceInformation: "BT-83";
                readonly vatAccountingCurrencyCode: "BT-6";
                readonly currencyCode: "BT-5";
                readonly payee: readonly ["BG-10", {
                    readonly identifier: "BT-60";
                    readonly globalIdentifier: "BT-60-0";
                    readonly name: "BT-59";
                    readonly organization: readonly ["BT-61-00", {
                        readonly registrationIdentifier: "BT-61";
                    }];
                }];
                readonly paymentInstruction: readonly ["BG-16", {
                    readonly typeCode: "BT-81";
                    readonly debitedAccountIdentifier: "BT-91";
                    readonly transfers: readonly ["BG-17", {
                        readonly paymentAccountIdentifier: "BT-84";
                        readonly nationalAccountNumber: "BT-84-0";
                    }];
                }];
                readonly vatBreakdown: readonly ["BG-23", {
                    readonly calculatedAmount: "BT-117";
                    readonly typeCode: "BT-118-0";
                    readonly exemptionReasonText: "BT-120";
                    readonly basisAmount: "BT-116";
                    readonly categoryCode: "BT-118";
                    readonly exemptionReasonCode: "BT-121";
                    readonly dueDateTypeCode: "BT-8";
                    readonly rateApplicablePercent: "BT-119";
                }];
                readonly invoicingPeriod: readonly ["BG-14", {
                    readonly startDate: "BT-73";
                    readonly endDate: "BT-74";
                }];
                readonly allowances: readonly ["BG-20", {
                    readonly calculationPercent: "BT-94";
                    readonly basisAmount: "BT-93";
                    readonly actualAmount: "BT-92";
                    readonly reasonCode: "BT-98";
                    readonly reason: "BT-97";
                    readonly categoryTradeTax: readonly ["BT-95-00", {
                        readonly categoryCode: "BT-95";
                        readonly vatRate: "BT-96";
                    }];
                }];
                readonly charges: readonly ["BG-21", {
                    readonly calculationPercent: "BT-101";
                    readonly basisAmount: "BT-100";
                    readonly actualAmount: "BT-99";
                    readonly reasonCode: "BT-105";
                    readonly reason: "BT-104";
                    readonly categoryTradeTax: readonly ["BT-102-00", {
                        readonly categoryCode: "BT-102";
                        readonly vatRate: "BT-103";
                    }];
                }];
                readonly paymentTerms: readonly ["BT-20-00", {
                    readonly description: "BT-20";
                    readonly dueDate: "BT-9";
                    readonly mandateReferenceIdentifier: "BT-89";
                }];
                readonly monetarySummation: readonly ["BG-22", {
                    readonly lineTotalAmount: "BT-106";
                    readonly chargeTotalAmount: "";
                    readonly allowanceTotalAmount: "";
                    readonly taxBasisTotalAmount: "BT-109";
                    readonly taxTotal: "BT-110";
                    readonly grandTotalAmount: "BT-112";
                    readonly paidAmount: "BT-113";
                    readonly duePayableAmount: "BT-115";
                }];
                readonly precendingInvoices: readonly ["BG-3", {
                    readonly reference: "BT-25";
                    readonly issueDate: "BT-26";
                }];
                readonly buyerAccountant: readonly ["BT-19-00", {
                    readonly reference: "BT-19";
                }];
            }];
        }];
    };
    xsdPath: () => string;
    conformanceLevel: string;
    documentFileName: string;
    documentType: "INVOICE";
    version: string;
} & {
    parse: (ctx: {
        context: BaseZugferdContext;
        data: InferSchema<Profile>;
    }) => any;
    validate: (data: string | Buffer<ArrayBufferLike> | {
        file: string;
    }) => Promise<boolean>;
};
type ProfileBasic = InferSchema<typeof BASIC>;

export { BASIC, type ProfileBasic };
