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

declare const EXTENDED: {
    id: "extended";
    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>;
    }) | ({
        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>;
    }) | ({
        id: "en16931";
        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>;
        }) | ({
            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>;
        }))[];
        schema: {
            specificationIdentifier: {
                type: "string";
                required: false;
                defaultValue: string;
            };
            transaction: {
                type: "object";
                shape: {
                    tradeAgreement: {
                        type: "object";
                        shape: {
                            seller: {
                                type: "object";
                                shape: {
                                    description: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    tradeContact: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            name: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            departmentName: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            phoneNumber: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            emailAddress: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                };
                            };
                            buyer: {
                                type: "object";
                                shape: {
                                    organization: {
                                        type: "object";
                                        required: false;
                                        shape: {
                                            tradingName: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    tradeContact: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            name: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            departmentName: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            phoneNumber: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                            emailAddress: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                };
                            };
                            associatedOrderConfirmation: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    salesOrderReference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                            supportingDocuments: {
                                key: string;
                                type: "object[]";
                                group: "supporting-documents";
                                description: string;
                                required: false;
                                shape: {
                                    reference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[supporting-documents]/ram:TypeCode": string;
                                        };
                                    };
                                    externalLocation: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    description: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    content: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    mimeCode: {
                                        key: string;
                                        type: ("application/pdf" | "image/png" | "image/jpeg" | "text/csv" | "application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet" | "application/vnd.oasis.opendocument.spreadsheet")[];
                                        description: string;
                                        xpath: string;
                                    };
                                    filename: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                    };
                                };
                            };
                            tenderOrLotReference: {
                                key: string;
                                type: "object[]";
                                required: false;
                                description: string;
                                validator: zod.ZodOptional<zod.ZodArray<zod.ZodAny, "many">>;
                                sibling: (data: any) => any;
                                group: "tender-lot-reference";
                                shape: {
                                    reference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[tender-lot-reference]/ram:TypeCode": string;
                                        };
                                    };
                                };
                            };
                            objectIdentifier: {
                                key: string;
                                type: "object[]";
                                required: false;
                                sibling: (data: any) => any[];
                                validator: zod.ZodOptional<zod.ZodArray<zod.ZodAny, "many">>;
                                group: "object-identifier";
                                shape: {
                                    reference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[object-identifier]/ram:TypeCode": string;
                                        };
                                    };
                                    referenceTypeCode: {
                                        key: string;
                                        type: ("AC" | "AE" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "ERN" | "AF" | "AFG" | "ALB" | "ASM" | "AND" | "AGO" | "AIA" | "ATA" | "ATG" | "ARG" | "ARM" | "ABW" | "AU" | "AUS" | "AUT" | "BH" | "BD" | "BE" | "BM" | "ALA" | "BT" | "BO" | "BA" | "BW" | "BR" | "BN" | "CV" | "CM" | "CMR" | "CN" | "CD" | "CG" | "CK" | "CR" | "CU" | "CW" | "CZ" | "DM" | "ER" | "EE" | "SZ" | "ET" | "FO" | "FI" | "PF" | "TF" | "ATF" | "GA" | "GD" | "GN" | "VA" | "IS" | "IL" | "IT" | "JE" | "LA" | "LB" | "LS" | "LI" | "MG" | "MH" | "MR" | "MS" | "MA" | "NA" | "NF" | "PK" | "PW" | "PS" | "PY" | "PE" | "PL" | "PR" | "RE" | "SH" | "LC" | "MF" | "VC" | "WS" | "SM" | "SA" | "SN" | "SI" | "SB" | "SS" | "SD" | "SE" | "CH" | "TL" | "TN" | "ATR" | "VN" | "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" | "ADC" | "ADE" | "ADJ" | "ADK" | "ADL" | "ADM" | "ADN" | "ADO" | "ADP" | "ADQ" | "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" | "CAS" | "CAT" | "CAU" | "CAV" | "CAW" | "CAX" | "CAY" | "CAZ" | "CS" | "CT" | "DAN" | "DL" | "PC" | "RF" | "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" | "ADI" | "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" | "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" | "LAN" | "SRN" | "AMH" | "AMP" | "ANN" | "APZ" | "ASU" | "ATM" | "DB" | "EA" | "EB" | "EQ" | "FF" | "FS" | "IA" | "IV" | "LO" | "ON" | "PD" | "PI" | "PQ" | "RT" | "SQ" | "SW" | "TI" | "TP" | "UC" | "VP" | "WE" | "WM" | "ABY" | "AJC" | "AJD" | "AJE" | "AJF" | "AJG" | "AJH" | "AJI" | "AJJ" | "AJK" | "AJL" | "AJM" | "AJN" | "AJO" | "AJP" | "AJQ" | "AJR" | "AJS" | "AJT" | "AJU" | "AJV" | "AJW" | "AJX" | "AJY" | "AJZ" | "AKA" | "AKB" | "AKC" | "AKD" | "AKE" | "AKF" | "AKG" | "AKH" | "AKI" | "AKJ" | "AKK" | "AKL" | "AKM" | "AKN" | "AKO" | "AKP" | "AKQ" | "AKR" | "AKS" | "AKT" | "AKU" | "AKV" | "AKW" | "AKX" | "AKY" | "AKZ" | "ALR" | "ALS" | "ALT" | "ALU" | "ALV" | "ALW" | "ALX" | "ALY" | "ALZ" | "AMA" | "AMB" | "AMC" | "AME" | "AMF" | "AMG" | "AMI" | "AMJ" | "AMK" | "AML" | "AMM" | "AMN" | "AMO" | "AMQ" | "AMR" | "AMS" | "AMT" | "AMU" | "AMV" | "AMW" | "AMX" | "AMY" | "AMZ" | "ANA" | "ANB" | "ANC" | "ANE" | "ANF" | "ANH" | "ANI" | "ANJ" | "ANK" | "ANL" | "ANM" | "ANO" | "ANP" | "ANQ" | "ANR" | "ANS" | "ANT" | "ANU" | "ANV" | "ANW" | "ANX" | "ANY" | "AOD" | "AOE" | "AOF" | "AOG" | "AOH" | "AOI" | "AOJ" | "AOK" | "AOL" | "AOM" | "AON" | "AOO" | "AOP" | "AOQ" | "AOR" | "AOS" | "AOT" | "AOU" | "AOV" | "AOW" | "AOX" | "AOY" | "AOZ" | "AP" | "APA" | "APB" | "APC" | "APD" | "APE" | "APF" | "APG" | "APH" | "API" | "APJ" | "APK" | "APL" | "APM" | "APN" | "APO" | "APP" | "APQ" | "APR" | "APS" | "APT" | "APU" | "APV" | "APW" | "APX" | "APY" | "AQA" | "AQB" | "AQC" | "AQD" | "AQE" | "AQF" | "AQG" | "AQH" | "AQI" | "AQJ" | "AQK" | "AQL" | "AQM" | "AQN" | "AQO" | "AQP" | "AQQ" | "AQR" | "AQS" | "AQT" | "AQU" | "AQV" | "AQW" | "AQX" | "AQY" | "AQZ" | "ARA" | "ARB" | "ARC" | "ARD" | "ARE" | "ARF" | "ARH" | "ARI" | "ARJ" | "ARK" | "ARL" | "ARN" | "ARO" | "ARP" | "ARQ" | "ART" | "ARU" | "ARV" | "ARW" | "ARX" | "ARY" | "ARZ" | "ASA" | "ASB" | "ASC" | "ASD" | "ASE" | "ASF" | "ASG" | "ASH" | "ASI" | "ASJ" | "ASK" | "ASL" | "ASN" | "ASO" | "ASP" | "ASQ" | "ASR" | "ASS" | "AST" | "ASV" | "ASW" | "ASX" | "ASY" | "ASZ" | "ATB" | "ATC" | "ATD" | "ATE" | "ATH" | "ATI" | "ATJ" | "ATK" | "ATL" | "ATN" | "ATO" | "ATP" | "ATQ" | "ATS" | "ATT" | "ATU" | "ATV" | "ATW" | "ATX" | "ATY" | "ATZ" | "AUA" | "AUB" | "AUC" | "AUE" | "AUF" | "AUG" | "AUH" | "AUI" | "AUJ" | "AUK" | "AUL" | "AUM" | "AUN" | "AUO" | "AUP" | "AUQ" | "AUR" | "AV" | "AVG" | "AVH" | "AVI" | "AVJ" | "AVK" | "AVL" | "AVM" | "AVN" | "AVO" | "AVP" | "AVQ" | "AVR" | "AVS" | "AVT" | "AVU" | "AVV" | "AVW" | "AVX" | "AVY" | "AVZ" | "AWA" | "AWB" | "AWC" | "AWD" | "AWE" | "AWF" | "AWH" | "AWI" | "AWJ" | "AWK" | "AWL" | "AWM" | "AWN" | "AWO" | "AWP" | "AWQ" | "AWR" | "AWS" | "AWT" | "AWU" | "AWV" | "AWW" | "AWX" | "AWY" | "AWZ" | "AXA" | "AXB" | "AXC" | "AXD" | "AXE" | "AXF" | "AXG" | "AXH" | "AXI" | "AXJ" | "AXK" | "AXL" | "AXM" | "AXN" | "AXO" | "AXP" | "AXQ" | "AXR" | "AXS" | "BC" | "BTP" | "CBA" | "CBB" | "CEC" | "CED" | "CFE" | "CFF" | "CFO" | "CKN" | "CNO" | "COF" | "CP" | "CRN" | "CST" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EEP" | "EI" | "EN" | "EX" | "FLW" | "FN" | "FT" | "FV" | "FX" | "GC" | "GDN" | "HS" | "HWB" | "IB" | "ICA" | "ICE" | "ICO" | "II" | "INB" | "INN" | "INO" | "IP" | "JB" | "LAR" | "LRC" | "MB" | "MRN" | "MSS" | "MWB" | "OH" | "OI" | "OP" | "OR" | "PB" | "POR" | "PP" | "RA" | "RC" | "RCN" | "REN" | "RR" | "SEA" | "SF" | "SP" | "STA" | "TB" | "TCR" | "TE" | "TIN" | "UAR" | "UCN" | "UN" | "UO" | "URI" | "VGR" | "VM" | "VON" | "VOR" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "WY" | "XA" | "XC" | "XP")[];
                                        description: string;
                                        required: false;
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[object-identifier]/ram:TypeCode": string;
                                        };
                                    };
                                };
                            };
                            project: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    reference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    name: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        xpath: string;
                                    };
                                };
                            };
                        };
                    };
                    tradeDelivery: {
                        type: "object";
                        shape: {
                            associatedGoodsReceipt: {
                                key: string;
                                type: "object";
                                description: string;
                                required: false;
                                shape: {
                                    reference: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                        };
                    };
                    tradeSettlement: {
                        type: "object";
                        shape: {
                            paymentInstruction: {
                                type: "object";
                                required: false;
                                shape: {
                                    information: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    cardInformation: {
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            primaryAccountNumber: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                xpath: string;
                                            };
                                            holderName: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    transfers: {
                                        type: "object[]";
                                        required: false;
                                        shape: {
                                            accountName: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    sellerBankInformation: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            serviceProdiverIdentifier: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                };
                            };
                            vatBreakdown: {
                                type: "object[]";
                                required: false;
                                shape: {
                                    taxDueDate: {
                                        key: string;
                                        type: "date";
                                        required: false;
                                        description: string;
                                        transform: {
                                            input: (date: unknown) => string | undefined;
                                        };
                                        xpath: string;
                                        additionalXml: {
                                            "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[vat-breakdown]/ram:TaxPointDate/udt:DateString/@format": string;
                                        };
                                    };
                                };
                            };
                            monetarySummation: {
                                type: "object";
                                shape: {
                                    roundingAmount: {
                                        key: string;
                                        type: "string | number";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                };
                            };
                        };
                    };
                    line: {
                        type: "object[]";
                        shape: {
                            tradeProduct: {
                                type: "object";
                                shape: {
                                    sellerAssignedID: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    buyerAssignedID: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    description: {
                                        key: string;
                                        type: "string";
                                        description: string;
                                        required: false;
                                        xpath: string;
                                    };
                                    attributes: {
                                        key: string;
                                        type: "object[]";
                                        description: string;
                                        group: "line-item-attributes";
                                        required: false;
                                        shape: {
                                            name: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                xpath: string;
                                            };
                                            value: {
                                                key: string;
                                                type: "string";
                                                description: string;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    classification: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            identifier: {
                                                key: string;
                                                type: "object[]";
                                                description: string;
                                                group: "line-item-classification-identifier";
                                                required: false;
                                                shape: {
                                                    value: {
                                                        type: "string";
                                                        description: string;
                                                        xpath: string;
                                                    };
                                                    schemeIdentifier: {
                                                        type: ("EF" | "AA" | "AB" | "AC" | "AD" | "AE" | "SSP" | "STN" | "AF" | "AL" | "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" | "BN" | "BG" | "BF" | "BI" | "CV" | "CL" | "CC" | "CG" | "CR" | "EC" | "GN" | "IS" | "IN" | "IT" | "MN" | "MA" | "MP" | "PL" | "RU" | "BL" | "MF" | "ST" | "STP" | "SA" | "SN" | "SG" | "SK" | "GS" | "SS" | "SSD" | "TG" | "UA" | "GB" | "VN" | "ZZZ" | "AJ" | "SSR" | "AN" | "AH" | "AK" | "AY" | "BP" | "FS" | "ON" | "PD" | "PO" | "STC" | "STI" | "STK" | "STL" | "STW" | "TST" | "VP" | "AP" | "AV" | "BC" | "DR" | "EN" | "HS" | "IB" | "RC" | "STA" | "VS" | "BK" | "BU" | "BX" | "DW" | "IZ" | "NB" | "PV" | "QS" | "RN" | "RY" | "SRS" | "SRT" | "SRU" | "SRV" | "SRW" | "SRX" | "SRY" | "SRZ" | "SSA" | "SSB" | "SSC" | "SSE" | "SSF" | "SSG" | "SSH" | "SSI" | "SSJ" | "SSK" | "SSL" | "SSM" | "SSN" | "SSO" | "SSQ" | "SSS" | "SST" | "SSU" | "SSV" | "SSW" | "SSX" | "SSY" | "SSZ" | "STB" | "STD" | "STE" | "STF" | "STG" | "STH" | "STJ" | "STM" | "STO" | "STQ" | "STR" | "STS" | "STT" | "STU" | "STV" | "STX" | "STY" | "STZ" | "SUA" | "SUB" | "SUC" | "SUD" | "SUE" | "SUF" | "SUG" | "SUH" | "SUI" | "SUJ" | "SUK" | "SUL" | "SUM" | "TSN" | "TSO" | "TSP" | "TSQ" | "TSR" | "TSS" | "TSU" | "UP" | "VX")[];
                                                        description: string;
                                                        xpath: string;
                                                    };
                                                    schemeVersionIdentifier: {
                                                        type: "string";
                                                        description: string;
                                                        required: false;
                                                        xpath: string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                    origin: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        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;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                };
                            };
                            tradeAgreement: {
                                type: "object";
                                shape: {
                                    buyerOrderReference: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            lineID: {
                                                key: string;
                                                type: "string | number";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                };
                            };
                            tradeSettlement: {
                                type: "object";
                                shape: {
                                    allowances: {
                                        type: "object[]";
                                        required: false;
                                        shape: {
                                            basisAmount: {
                                                key: string;
                                                type: "string | number";
                                                required: false;
                                                description: string;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    charges: {
                                        type: "object[]";
                                        required: false;
                                        shape: {
                                            basisAmount: {
                                                key: string;
                                                type: "string | number";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                            };
                                        };
                                    };
                                    objectIdentifier: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        required: false;
                                        shape: {
                                            issuerAssignedID: {
                                                type: "string";
                                                description: string;
                                                required: false;
                                                xpath: string;
                                                additionalXml: {
                                                    "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:TypeCode": string;
                                                };
                                            };
                                            referenceTypeCode: {
                                                type: ("AC" | "AE" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "ERN" | "AF" | "AFG" | "ALB" | "ASM" | "AND" | "AGO" | "AIA" | "ATA" | "ATG" | "ARG" | "ARM" | "ABW" | "AU" | "AUS" | "AUT" | "BH" | "BD" | "BE" | "BM" | "ALA" | "BT" | "BO" | "BA" | "BW" | "BR" | "BN" | "CV" | "CM" | "CMR" | "CN" | "CD" | "CG" | "CK" | "CR" | "CU" | "CW" | "CZ" | "DM" | "ER" | "EE" | "SZ" | "ET" | "FO" | "FI" | "PF" | "TF" | "ATF" | "GA" | "GD" | "GN" | "VA" | "IS" | "IL" | "IT" | "JE" | "LA" | "LB" | "LS" | "LI" | "MG" | "MH" | "MR" | "MS" | "MA" | "NA" | "NF" | "PK" | "PW" | "PS" | "PY" | "PE" | "PL" | "PR" | "RE" | "SH" | "LC" | "MF" | "VC" | "WS" | "SM" | "SA" | "SN" | "SI" | "SB" | "SS" | "SD" | "SE" | "CH" | "TL" | "TN" | "ATR" | "VN" | "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" | "ADC" | "ADE" | "ADJ" | "ADK" | "ADL" | "ADM" | "ADN" | "ADO" | "ADP" | "ADQ" | "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" | "CAS" | "CAT" | "CAU" | "CAV" | "CAW" | "CAX" | "CAY" | "CAZ" | "CS" | "CT" | "DAN" | "DL" | "PC" | "RF" | "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" | "ADI" | "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" | "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" | "LAN" | "SRN" | "AMH" | "AMP" | "ANN" | "APZ" | "ASU" | "ATM" | "DB" | "EA" | "EB" | "EQ" | "FF" | "FS" | "IA" | "IV" | "LO" | "ON" | "PD" | "PI" | "PQ" | "RT" | "SQ" | "SW" | "TI" | "TP" | "UC" | "VP" | "WE" | "WM" | "ABY" | "AJC" | "AJD" | "AJE" | "AJF" | "AJG" | "AJH" | "AJI" | "AJJ" | "AJK" | "AJL" | "AJM" | "AJN" | "AJO" | "AJP" | "AJQ" | "AJR" | "AJS" | "AJT" | "AJU" | "AJV" | "AJW" | "AJX" | "AJY" | "AJZ" | "AKA" | "AKB" | "AKC" | "AKD" | "AKE" | "AKF" | "AKG" | "AKH" | "AKI" | "AKJ" | "AKK" | "AKL" | "AKM" | "AKN" | "AKO" | "AKP" | "AKQ" | "AKR" | "AKS" | "AKT" | "AKU" | "AKV" | "AKW" | "AKX" | "AKY" | "AKZ" | "ALR" | "ALS" | "ALT" | "ALU" | "ALV" | "ALW" | "ALX" | "ALY" | "ALZ" | "AMA" | "AMB" | "AMC" | "AME" | "AMF" | "AMG" | "AMI" | "AMJ" | "AMK" | "AML" | "AMM" | "AMN" | "AMO" | "AMQ" | "AMR" | "AMS" | "AMT" | "AMU" | "AMV" | "AMW" | "AMX" | "AMY" | "AMZ" | "ANA" | "ANB" | "ANC" | "ANE" | "ANF" | "ANH" | "ANI" | "ANJ" | "ANK" | "ANL" | "ANM" | "ANO" | "ANP" | "ANQ" | "ANR" | "ANS" | "ANT" | "ANU" | "ANV" | "ANW" | "ANX" | "ANY" | "AOD" | "AOE" | "AOF" | "AOG" | "AOH" | "AOI" | "AOJ" | "AOK" | "AOL" | "AOM" | "AON" | "AOO" | "AOP" | "AOQ" | "AOR" | "AOS" | "AOT" | "AOU" | "AOV" | "AOW" | "AOX" | "AOY" | "AOZ" | "AP" | "APA" | "APB" | "APC" | "APD" | "APE" | "APF" | "APG" | "APH" | "API" | "APJ" | "APK" | "APL" | "APM" | "APN" | "APO" | "APP" | "APQ" | "APR" | "APS" | "APT" | "APU" | "APV" | "APW" | "APX" | "APY" | "AQA" | "AQB" | "AQC" | "AQD" | "AQE" | "AQF" | "AQG" | "AQH" | "AQI" | "AQJ" | "AQK" | "AQL" | "AQM" | "AQN" | "AQO" | "AQP" | "AQQ" | "AQR" | "AQS" | "AQT" | "AQU" | "AQV" | "AQW" | "AQX" | "AQY" | "AQZ" | "ARA" | "ARB" | "ARC" | "ARD" | "ARE" | "ARF" | "ARH" | "ARI" | "ARJ" | "ARK" | "ARL" | "ARN" | "ARO" | "ARP" | "ARQ" | "ART" | "ARU" | "ARV" | "ARW" | "ARX" | "ARY" | "ARZ" | "ASA" | "ASB" | "ASC" | "ASD" | "ASE" | "ASF" | "ASG" | "ASH" | "ASI" | "ASJ" | "ASK" | "ASL" | "ASN" | "ASO" | "ASP" | "ASQ" | "ASR" | "ASS" | "AST" | "ASV" | "ASW" | "ASX" | "ASY" | "ASZ" | "ATB" | "ATC" | "ATD" | "ATE" | "ATH" | "ATI" | "ATJ" | "ATK" | "ATL" | "ATN" | "ATO" | "ATP" | "ATQ" | "ATS" | "ATT" | "ATU" | "ATV" | "ATW" | "ATX" | "ATY" | "ATZ" | "AUA" | "AUB" | "AUC" | "AUE" | "AUF" | "AUG" | "AUH" | "AUI" | "AUJ" | "AUK" | "AUL" | "AUM" | "AUN" | "AUO" | "AUP" | "AUQ" | "AUR" | "AV" | "AVG" | "AVH" | "AVI" | "AVJ" | "AVK" | "AVL" | "AVM" | "AVN" | "AVO" | "AVP" | "AVQ" | "AVR" | "AVS" | "AVT" | "AVU" | "AVV" | "AVW" | "AVX" | "AVY" | "AVZ" | "AWA" | "AWB" | "AWC" | "AWD" | "AWE" | "AWF" | "AWH" | "AWI" | "AWJ" | "AWK" | "AWL" | "AWM" | "AWN" | "AWO" | "AWP" | "AWQ" | "AWR" | "AWS" | "AWT" | "AWU" | "AWV" | "AWW" | "AWX" | "AWY" | "AWZ" | "AXA" | "AXB" | "AXC" | "AXD" | "AXE" | "AXF" | "AXG" | "AXH" | "AXI" | "AXJ" | "AXK" | "AXL" | "AXM" | "AXN" | "AXO" | "AXP" | "AXQ" | "AXR" | "AXS" | "BC" | "BTP" | "CBA" | "CBB" | "CEC" | "CED" | "CFE" | "CFF" | "CFO" | "CKN" | "CNO" | "COF" | "CP" | "CRN" | "CST" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EEP" | "EI" | "EN" | "EX" | "FLW" | "FN" | "FT" | "FV" | "FX" | "GC" | "GDN" | "HS" | "HWB" | "IB" | "ICA" | "ICE" | "ICO" | "II" | "INB" | "INN" | "INO" | "IP" | "JB" | "LAR" | "LRC" | "MB" | "MRN" | "MSS" | "MWB" | "OH" | "OI" | "OP" | "OR" | "PB" | "POR" | "PP" | "RA" | "RC" | "RCN" | "REN" | "RR" | "SEA" | "SF" | "SP" | "STA" | "TB" | "TCR" | "TE" | "TIN" | "UAR" | "UCN" | "UN" | "UO" | "URI" | "VGR" | "VM" | "VON" | "VOR" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "WY" | "XA" | "XC" | "XP")[];
                                                description: string;
                                                required: false;
                                                xpath: string;
                                                additionalXml: {
                                                    "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:TypeCode": string;
                                                };
                                            };
                                        };
                                    };
                                    buyerAccountant: {
                                        key: string;
                                        type: "object";
                                        description: string;
                                        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 line: readonly ["BG-25", {
                    readonly identifier: "BT-126";
                    readonly note: "BT-127";
                    readonly tradeProduct: readonly ["BG-31", {
                        readonly globalIdentifier: "BT-157";
                        readonly sellerAssignedID: "BT-155";
                        readonly buyerAssignedID: "BT-156";
                        readonly name: "BT-153";
                        readonly description: "BT-154";
                        readonly attributes: readonly ["BG-32", {
                            readonly name: "BT-160";
                            readonly value: "BT-161";
                        }];
                        readonly classifications: readonly ["BT-158-00", {
                            readonly identifier: "BT-158";
                        }];
                        readonly origin: readonly ["BT-159-00", {
                            readonly countryCode: "BT-159";
                        }];
                    }];
                    readonly tradeAgreement: readonly ["BG-29", {
                        readonly buyerOrderReference: readonly ["BT-132-00", {
                            readonly lineID: "BT-132";
                        }];
                        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 basisAmount: "BT-137";
                            readonly actualAmount: "BT-136";
                            readonly reasonCode: "BT-140";
                            readonly reason: "BT-139";
                        }];
                        readonly charges: readonly ["BG-28", {
                            readonly basisAmount: "BT-142";
                            readonly actualAmount: "BT-141";
                            readonly reasonCode: "BT-145";
                            readonly reason: "BT-144";
                        }];
                        readonly monetarySummation: readonly ["BT-131-00", {
                            readonly lineTotalAmount: "BT-131";
                        }];
                        readonly objectIdentifier: "BT-128-00";
                        readonly buyerAccountant: readonly ["BT-133-00", {
                            readonly reference: "BT-133";
                        }];
                    }];
                }];
                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 description: "BT-33";
                        readonly organization: readonly ["BT-30-00", {
                            readonly registrationIdentifier: "BT-30";
                            readonly tradingName: "BT-28";
                        }];
                        readonly tradeContact: readonly ["BG-6", {
                            readonly name: "BT-41";
                            readonly departmentName: "BT-41-0";
                            readonly phoneNumber: "BT-42";
                            readonly emailAddress: "BT-43";
                        }];
                        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 tradingName: "BT-45";
                        }];
                        readonly tradeContact: readonly ["BG-9", {
                            readonly name: "BT-56";
                            readonly departmentName: "BT-56-0";
                            readonly phoneNumber: "BT-57";
                            readonly emailAddress: "BT-58";
                        }];
                        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 associatedOrderConfirmation: readonly ["BT-14-00", {
                        readonly salesOrderReference: "BT-14";
                    }];
                    readonly associatedOrder: readonly ["BT-13-00", {
                        readonly purchaseOrderReference: "BT-13";
                    }];
                    readonly associatedContract: readonly ["BT-12-00", {
                        readonly reference: "BT-12";
                    }];
                    readonly supportingDocuments: readonly ["BG-24", {
                        readonly reference: "BT-122";
                        readonly externalLocation: "BT-124";
                        readonly description: "BT-123";
                        readonly content: "BT-125";
                        readonly mimeCode: "BT-125-1";
                        readonly filename: "BT-125-2";
                    }];
                    readonly tenderOrLotReference: readonly ["BT-17-00", {
                        readonly reference: "BT-17";
                    }];
                    readonly objectIdentifier: readonly ["BT-18-00", {
                        readonly reference: "BT-18";
                        readonly referenceTypeCode: "BT-18-1";
                    }];
                    readonly project: readonly ["BT-11-00", {
                        readonly reference: "BT-11";
                        readonly name: "BT-11-0";
                    }];
                }];
                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 associatedGoodsReceipt: readonly ["BT-15-00", {
                        readonly reference: "BT-15";
                    }];
                }];
                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 information: "BT-82";
                        readonly cardInformation: readonly ["BG-18", {
                            readonly primaryAccountNumber: "BT-87";
                            readonly holderName: "BT-88";
                        }];
                        readonly debitedAccountIdentifier: "BT-91";
                        readonly transfers: readonly ["BG-17", {
                            readonly paymentAccountIdentifier: "BT-84";
                            readonly accountname: "BT-85";
                            readonly nationalAccountNumber: "BT-84-0";
                        }];
                        readonly sellerBankInformation: readonly ["BT-86-00", {
                            readonly serviceProdiverIdentifier: "BT-86";
                        }];
                    }];
                    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 taxDueDate: "BT-7";
                        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 roundingAmount: "BT-114";
                        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;
        };
        testIndicator: {
            key: string;
            type: "boolean";
            description: string;
            required: false;
            xpath: string;
        };
        name: {
            key: string;
            type: "string";
            description: string;
            required: false;
            xpath: string;
        };
        copyIndicator: {
            key: string;
            type: "boolean";
            description: string;
            required: false;
            xpath: string;
        };
        language: {
            key: string;
            type: ("map" | "gon" | "day" | "bel" | "aar" | "abk" | "ace" | "ach" | "ada" | "ady" | "afa" | "afh" | "afr" | "ain" | "aka" | "akk" | "alb" | "ale" | "alg" | "alt" | "amh" | "ang" | "anp" | "apa" | "ara" | "arc" | "arg" | "arm" | "arn" | "arp" | "art" | "arw" | "asm" | "ast" | "ath" | "aus" | "ava" | "ave" | "awa" | "aym" | "aze" | "bad" | "bai" | "bak" | "bal" | "bam" | "ban" | "baq" | "bas" | "bat" | "bej" | "bem" | "ben" | "ber" | "bho" | "bih" | "bik" | "bin" | "bis" | "bla" | "bnt" | "bos" | "bra" | "bre" | "btk" | "bua" | "bug" | "bul" | "bur" | "byn" | "cad" | "cai" | "car" | "cat" | "cau" | "ceb" | "cel" | "cze" | "cha" | "chb" | "che" | "chg" | "chi" | "chk" | "chm" | "chn" | "cho" | "chp" | "chr" | "chu" | "chv" | "chy" | "cmc" | "cnr" | "cop" | "cor" | "cos" | "cpe" | "cpf" | "cpp" | "cre" | "crh" | "crp" | "csb" | "cus" | "dak" | "dan" | "dar" | "del" | "den" | "dgr" | "din" | "div" | "doi" | "dra" | "dsb" | "dua" | "dum" | "dut" | "dyu" | "dzo" | "efi" | "egy" | "eka" | "elx" | "eng" | "enm" | "epo" | "est" | "ewe" | "ewo" | "fan" | "fao" | "fat" | "fij" | "fil" | "fin" | "fiu" | "fon" | "fre" | "frm" | "fro" | "frr" | "frs" | "fry" | "ful" | "fur" | "gaa" | "gay" | "gba" | "gem" | "geo" | "ger" | "gez" | "gil" | "gla" | "gle" | "glg" | "glv" | "gmh" | "goh" | "gor" | "got" | "grb" | "grc" | "gre" | "grn" | "gsw" | "guj" | "gwi" | "hai" | "hat" | "hau" | "haw" | "heb" | "her" | "hil" | "him" | "hin" | "hit" | "hmn" | "hmo" | "hrv" | "hsb" | "hun" | "hup" | "iba" | "ibo" | "ice" | "ido" | "iii" | "ijo" | "iku" | "ile" | "ilo" | "ina" | "inc" | "ind" | "ine" | "inh" | "ipk" | "ira" | "iro" | "ita" | "jav" | "jbo" | "jpn" | "jpr" | "jrb" | "kaa" | "kab" | "kac" | "kal" | "kam" | "kan" | "kar" | "kas" | "kau" | "kaw" | "kaz" | "kbd" | "kha" | "khi" | "khm" | "kho" | "kik" | "kin" | "kir" | "kmb" | "kok" | "kom" | "kon" | "kor" | "kos" | "kpe" | "krc" | "krl" | "kro" | "kru" | "kua" | "kum" | "kur" | "kut" | "lad" | "lah" | "lam" | "lao" | "lat" | "lav" | "lez" | "lim" | "lin" | "lit" | "lol" | "loz" | "ltz" | "lua" | "lub" | "lug" | "lui" | "lun" | "luo" | "lus" | "mac" | "mad" | "mag" | "mah" | "mai" | "mak" | "mal" | "man" | "mao" | "mar" | "mas" | "may" | "mdf" | "mdr" | "men" | "mga" | "mic" | "min" | "mis" | "mkh" | "mlg" | "mlt" | "mnc" | "mni" | "mno" | "moh" | "mon" | "mos" | "mul" | "mun" | "mus" | "mwl" | "mwr" | "myn" | "myv" | "nah" | "nai" | "nap" | "nau" | "nav" | "nbl" | "nde" | "ndo" | "nds" | "nep" | "new" | "nia" | "nic" | "niu" | "nno" | "nob" | "nog" | "non" | "nor" | "nqo" | "nso" | "nub" | "nwc" | "nya" | "nym" | "nyn" | "nyo" | "nzi" | "oci" | "oji" | "ori" | "orm" | "osa" | "oss" | "ota" | "oto" | "paa" | "pag" | "pal" | "pam" | "pan" | "pap" | "pau" | "peo" | "per" | "phi" | "phn" | "pli" | "pol" | "pon" | "por" | "pra" | "pro" | "pus" | "qaa-qtz" | "que" | "raj" | "rap" | "rar" | "roa" | "roh" | "rom" | "rum" | "run" | "rup" | "rus" | "sad" | "sag" | "sah" | "sai" | "sal" | "sam" | "san" | "sas" | "sat" | "scn" | "sco" | "sel" | "sem" | "sga" | "sgn" | "shn" | "sid" | "sin" | "sio" | "sit" | "sla" | "slo" | "slv" | "sma" | "sme" | "smi" | "smj" | "smn" | "smo" | "sms" | "sna" | "snd" | "snk" | "sog" | "som" | "son" | "sot" | "spa" | "srd" | "srn" | "srp" | "srr" | "ssa" | "ssw" | "suk" | "sun" | "sus" | "sux" | "swa" | "swe" | "syc" | "syr" | "tah" | "tai" | "tam" | "tat" | "tel" | "tem" | "ter" | "tet" | "tgk" | "tgl" | "tha" | "tib" | "tig" | "tir" | "tiv" | "tkl" | "tlh" | "tli" | "tmh" | "tog" | "ton" | "tpi" | "tsi" | "tsn" | "tso" | "tuk" | "tum" | "tup" | "tur" | "tut" | "tvl" | "twi" | "tyv" | "udm" | "uga" | "uig" | "ukr" | "umb" | "und" | "urd" | "uzb" | "vai" | "ven" | "vie" | "vol" | "vot" | "wak" | "wal" | "war" | "was" | "wel" | "wen" | "wln" | "wol" | "xal" | "xho" | "yao" | "yap" | "yid" | "yor" | "ypk" | "zap" | "zbl" | "zen" | "zgh" | "zha" | "znd" | "zul" | "zun" | "zxx" | "zza")[];
            description: string;
            required: false;
            xpath: string;
        };
        includedNote: {
            type: "object[]";
            required: false;
            shape: {
                contentCode: {
                    key: string;
                    type: "string";
                    description: string;
                    required: false;
                    xpath: string;
                };
            };
        };
        contractualDueDate: {
            key: string;
            type: "date";
            description: string;
            required: false;
            xpath: string;
            transform: {
                input: (date: unknown) => string | undefined;
            };
            additionalXml: {
                "/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:EffectiveSpecifiedPeriod/ram:CompleteDateTime/udt:DateTimeString/@format": string;
            };
        };
        transaction: {
            type: "object";
            shape: {
                tradeAgreement: {
                    type: "object";
                    shape: {
                        seller: {
                            type: "object";
                            shape: {
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        postalAddress: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                        buyer: {
                            type: "object";
                            shape: {
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                description: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        postalAddress: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            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;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                        salesAgent: {
                            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;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                        tradeContact: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                name: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                departmentName: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                typeCode: {
                                                    key: string;
                                                    type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                phoneNumber: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                faxNumber: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                emailAddress: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    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;
                                        };
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SalesAgentTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        buyerTaxRepresentative: {
                            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;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                        };
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        sellerTaxRepresentative: {
                            type: "object";
                            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;
                                        };
                                    };
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                postalAddress: {
                                    type: "object";
                                    shape: {
                                        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;
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        productEndUser: {
                            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;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    xpath: string;
                                                };
                                                schemeIdentifier: {
                                                    type: "string";
                                                    description: string;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                        };
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ProductEndUserTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        tradeDeliveryTerms: {
                            key: string;
                            type: "object";
                            description: string;
                            required: false;
                            shape: {
                                typeCode: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    xpath: string;
                                };
                            };
                        };
                        associatedOrderConfirmation: {
                            type: "object";
                            required: false;
                            shape: {
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerOrderReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        associatedOrder: {
                            type: "object";
                            required: false;
                            shape: {
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        quotationReference: {
                            key: string;
                            type: "object[]";
                            description: string;
                            required: false;
                            group: "quotation-reference";
                            shape: {
                                issuerAssignedID: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    xpath: string;
                                };
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:QuotationReferencedDocument[quotation-reference]/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        associatedContract: {
                            type: "object";
                            required: false;
                            shape: {
                                typeCode: {
                                    key: string;
                                    type: ("AC" | "AE" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "ERN" | "AF" | "AFG" | "ALB" | "ASM" | "AND" | "AGO" | "AIA" | "ATA" | "ATG" | "ARG" | "ARM" | "ABW" | "AU" | "AUS" | "AUT" | "BH" | "BD" | "BE" | "BM" | "ALA" | "BT" | "BO" | "BA" | "BW" | "BR" | "BN" | "CV" | "CM" | "CMR" | "CN" | "CD" | "CG" | "CK" | "CR" | "CU" | "CW" | "CZ" | "DM" | "ER" | "EE" | "SZ" | "ET" | "FO" | "FI" | "PF" | "TF" | "ATF" | "GA" | "GD" | "GN" | "VA" | "IS" | "IL" | "IT" | "JE" | "LA" | "LB" | "LS" | "LI" | "MG" | "MH" | "MR" | "MS" | "MA" | "NA" | "NF" | "PK" | "PW" | "PS" | "PY" | "PE" | "PL" | "PR" | "RE" | "SH" | "LC" | "MF" | "VC" | "WS" | "SM" | "SA" | "SN" | "SI" | "SB" | "SS" | "SD" | "SE" | "CH" | "TL" | "TN" | "ATR" | "VN" | "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" | "ADC" | "ADE" | "ADJ" | "ADK" | "ADL" | "ADM" | "ADN" | "ADO" | "ADP" | "ADQ" | "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" | "CAS" | "CAT" | "CAU" | "CAV" | "CAW" | "CAX" | "CAY" | "CAZ" | "CS" | "CT" | "DAN" | "DL" | "PC" | "RF" | "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" | "ADI" | "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" | "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" | "LAN" | "SRN" | "AMH" | "AMP" | "ANN" | "APZ" | "ASU" | "ATM" | "DB" | "EA" | "EB" | "EQ" | "FF" | "FS" | "IA" | "IV" | "LO" | "ON" | "PD" | "PI" | "PQ" | "RT" | "SQ" | "SW" | "TI" | "TP" | "UC" | "VP" | "WE" | "WM" | "ABY" | "AJC" | "AJD" | "AJE" | "AJF" | "AJG" | "AJH" | "AJI" | "AJJ" | "AJK" | "AJL" | "AJM" | "AJN" | "AJO" | "AJP" | "AJQ" | "AJR" | "AJS" | "AJT" | "AJU" | "AJV" | "AJW" | "AJX" | "AJY" | "AJZ" | "AKA" | "AKB" | "AKC" | "AKD" | "AKE" | "AKF" | "AKG" | "AKH" | "AKI" | "AKJ" | "AKK" | "AKL" | "AKM" | "AKN" | "AKO" | "AKP" | "AKQ" | "AKR" | "AKS" | "AKT" | "AKU" | "AKV" | "AKW" | "AKX" | "AKY" | "AKZ" | "ALR" | "ALS" | "ALT" | "ALU" | "ALV" | "ALW" | "ALX" | "ALY" | "ALZ" | "AMA" | "AMB" | "AMC" | "AME" | "AMF" | "AMG" | "AMI" | "AMJ" | "AMK" | "AML" | "AMM" | "AMN" | "AMO" | "AMQ" | "AMR" | "AMS" | "AMT" | "AMU" | "AMV" | "AMW" | "AMX" | "AMY" | "AMZ" | "ANA" | "ANB" | "ANC" | "ANE" | "ANF" | "ANH" | "ANI" | "ANJ" | "ANK" | "ANL" | "ANM" | "ANO" | "ANP" | "ANQ" | "ANR" | "ANS" | "ANT" | "ANU" | "ANV" | "ANW" | "ANX" | "ANY" | "AOD" | "AOE" | "AOF" | "AOG" | "AOH" | "AOI" | "AOJ" | "AOK" | "AOL" | "AOM" | "AON" | "AOO" | "AOP" | "AOQ" | "AOR" | "AOS" | "AOT" | "AOU" | "AOV" | "AOW" | "AOX" | "AOY" | "AOZ" | "AP" | "APA" | "APB" | "APC" | "APD" | "APE" | "APF" | "APG" | "APH" | "API" | "APJ" | "APK" | "APL" | "APM" | "APN" | "APO" | "APP" | "APQ" | "APR" | "APS" | "APT" | "APU" | "APV" | "APW" | "APX" | "APY" | "AQA" | "AQB" | "AQC" | "AQD" | "AQE" | "AQF" | "AQG" | "AQH" | "AQI" | "AQJ" | "AQK" | "AQL" | "AQM" | "AQN" | "AQO" | "AQP" | "AQQ" | "AQR" | "AQS" | "AQT" | "AQU" | "AQV" | "AQW" | "AQX" | "AQY" | "AQZ" | "ARA" | "ARB" | "ARC" | "ARD" | "ARE" | "ARF" | "ARH" | "ARI" | "ARJ" | "ARK" | "ARL" | "ARN" | "ARO" | "ARP" | "ARQ" | "ART" | "ARU" | "ARV" | "ARW" | "ARX" | "ARY" | "ARZ" | "ASA" | "ASB" | "ASC" | "ASD" | "ASE" | "ASF" | "ASG" | "ASH" | "ASI" | "ASJ" | "ASK" | "ASL" | "ASN" | "ASO" | "ASP" | "ASQ" | "ASR" | "ASS" | "AST" | "ASV" | "ASW" | "ASX" | "ASY" | "ASZ" | "ATB" | "ATC" | "ATD" | "ATE" | "ATH" | "ATI" | "ATJ" | "ATK" | "ATL" | "ATN" | "ATO" | "ATP" | "ATQ" | "ATS" | "ATT" | "ATU" | "ATV" | "ATW" | "ATX" | "ATY" | "ATZ" | "AUA" | "AUB" | "AUC" | "AUE" | "AUF" | "AUG" | "AUH" | "AUI" | "AUJ" | "AUK" | "AUL" | "AUM" | "AUN" | "AUO" | "AUP" | "AUQ" | "AUR" | "AV" | "AVG" | "AVH" | "AVI" | "AVJ" | "AVK" | "AVL" | "AVM" | "AVN" | "AVO" | "AVP" | "AVQ" | "AVR" | "AVS" | "AVT" | "AVU" | "AVV" | "AVW" | "AVX" | "AVY" | "AVZ" | "AWA" | "AWB" | "AWC" | "AWD" | "AWE" | "AWF" | "AWH" | "AWI" | "AWJ" | "AWK" | "AWL" | "AWM" | "AWN" | "AWO" | "AWP" | "AWQ" | "AWR" | "AWS" | "AWT" | "AWU" | "AWV" | "AWW" | "AWX" | "AWY" | "AWZ" | "AXA" | "AXB" | "AXC" | "AXD" | "AXE" | "AXF" | "AXG" | "AXH" | "AXI" | "AXJ" | "AXK" | "AXL" | "AXM" | "AXN" | "AXO" | "AXP" | "AXQ" | "AXR" | "AXS" | "BC" | "BTP" | "CBA" | "CBB" | "CEC" | "CED" | "CFE" | "CFF" | "CFO" | "CKN" | "CNO" | "COF" | "CP" | "CRN" | "CST" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EEP" | "EI" | "EN" | "EX" | "FLW" | "FN" | "FT" | "FV" | "FX" | "GC" | "GDN" | "HS" | "HWB" | "IB" | "ICA" | "ICE" | "ICO" | "II" | "INB" | "INN" | "INO" | "IP" | "JB" | "LAR" | "LRC" | "MB" | "MRN" | "MSS" | "MWB" | "OH" | "OI" | "OP" | "OR" | "PB" | "POR" | "PP" | "RA" | "RC" | "RCN" | "REN" | "RR" | "SEA" | "SF" | "SP" | "STA" | "TB" | "TCR" | "TE" | "TIN" | "UAR" | "UCN" | "UN" | "UO" | "URI" | "VGR" | "VM" | "VON" | "VOR" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "WY" | "XA" | "XC" | "XP")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ContractReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        supportingDocuments: {
                            type: "object[]";
                            required: false;
                            shape: {
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[supporting-documents]/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        tenderOrLotReference: {
                            type: "object[]";
                            required: false;
                            shape: {
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[tender-lot-reference]/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        objectIdentifier: {
                            type: "object[]";
                            required: false;
                            shape: {
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    required: false;
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:AdditionalReferencedDocument[object-identifier]/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        buyerAgent: {
                            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;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    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;
                                                };
                                                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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                            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;
                                                };
                                            };
                                        };
                                    };
                                };
                                taxRegistration: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerAgentTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        customerOrderReference: {
                            key: string;
                            type: "object[]";
                            group: "customer-order-reference";
                            description: string;
                            required: false;
                            shape: {
                                issuerAssignedID: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    xpath: string;
                                };
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:UltimateCustomerOrderReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                    };
                };
                tradeDelivery: {
                    type: "object";
                    shape: {
                        relatedConsignment: {
                            key: string;
                            type: "object";
                            description: string;
                            required: false;
                            shape: {
                                transportMovement: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                deliveryMethod: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    xpath: string;
                                };
                            };
                        };
                        shipTo: {
                            type: "object";
                            shape: {
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                postalAddress: {
                                    type: "object";
                                    shape: {
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        finalShipTo: {
                            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;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                        };
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:UltimateShipToTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        shipFrom: {
                            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";
                                    required: false;
                                    description: string;
                                    shape: {
                                        value: {
                                            type: "string";
                                            description: string;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                        };
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipFromTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        despatchAdvice: {
                            type: "object";
                            required: false;
                            shape: {
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:DespatchAdviceReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        associatedGoodsReceipt: {
                            type: "object";
                            required: false;
                            shape: {
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ReceivingAdviceReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                                deliveryNote: {
                                    key: string;
                                    type: "object[]";
                                    description: string;
                                    required: false;
                                    group: "delivery-note";
                                    shape: {
                                        issuerAssignedID: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        date: {
                                            key: string;
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:DeliveryNoteReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
                tradeSettlement: {
                    type: "object";
                    shape: {
                        issuerReference: {
                            key: string;
                            type: "string";
                            description: string;
                            required: false;
                            xpath: string;
                        };
                        invoicer: {
                            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;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                        };
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoicerTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        invoicee: {
                            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;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                        };
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceeTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        payee: {
                            type: "object";
                            required: false;
                            shape: {
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    type: "object";
                                    shape: {
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        phoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            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";
                                            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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        payer: {
                            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;
                                            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;
                                };
                                typeCode: {
                                    key: string;
                                    type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                organization: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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;
                                                };
                                            };
                                        };
                                        tradingName: {
                                            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";
                                                    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;
                                                };
                                            };
                                        };
                                    };
                                };
                                tradeContact: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        departmentName: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        telephoneNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        faxNumber: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        emailAddress: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                        };
                                        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: {
                                        identifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayerTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        tradeCurrencyExchange: {
                            key: string;
                            type: "object";
                            description: string;
                            required: false;
                            shape: {
                                invoiceCurrency: {
                                    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;
                                };
                                localCurrency: {
                                    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;
                                };
                                exchangeRate: {
                                    key: string;
                                    type: "string | number";
                                    description: string;
                                    xpath: string;
                                };
                                exchangeRateDate: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxApplicableTradeCurrencyExchange/ram:ConversionRateDateTime/udt:DateTimeString/@format": string;
                                    };
                                };
                            };
                        };
                        vatBreakdown: {
                            type: "object[]";
                            shape: {
                                lineTotalBasisAmount: {
                                    key: string;
                                    type: "string | number";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                allowanceChargeBasisAmount: {
                                    key: string;
                                    type: "string | number";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                            };
                        };
                        invoicingPeriod: {
                            type: "object";
                            required: false;
                            shape: {
                                description: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                            };
                        };
                        allowances: {
                            type: "object[]";
                            required: false;
                            shape: {
                                calculationSequence: {
                                    key: string;
                                    type: "string | number";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                basisQuantity: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        value: {
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        unit: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                        charges: {
                            type: "object[]";
                            required: false;
                            shape: {
                                calculationSequence: {
                                    key: string;
                                    type: "string | number";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                baseQuantity: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        value: {
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        unit: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                        logisticsServiceCharge: {
                            key: string;
                            type: "object[]";
                            required: false;
                            group: "logistics-service-charge";
                            shape: {
                                description: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    xpath: string;
                                };
                                amount: {
                                    key: string;
                                    type: "string | number";
                                    description: string;
                                    xpath: string;
                                };
                                tradeTax: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        typeCode: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        categoryCode: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        rateApplicablePercent: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                        paymentTerms: {
                            type: "object";
                            shape: {
                                partialPaymentAmount: {
                                    key: string;
                                    type: "string | number";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                penaltyTerms: {
                                    key: string;
                                    type: "object[]";
                                    description: string;
                                    required: false;
                                    group: "penalty-terms";
                                    shape: {
                                        date: {
                                            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:ApplicableTradePaymentPenaltyTerms[penalty-terms]/ram:BasisDateTime/udt:DateTimeString/@format": string;
                                            };
                                        };
                                        datePeriodMeasure: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string | number";
                                                    description: string;
                                                    xpath: string;
                                                };
                                                unit: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                        basisAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        calculationPercent: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        penaltyAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                discountTerms: {
                                    key: string;
                                    type: "object[]";
                                    description: string;
                                    required: false;
                                    group: "discount-terms";
                                    shape: {
                                        date: {
                                            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:ApplicableTradePaymentDiscountTerms[discount-terms]/ram:BasisDateTime/udt:DateTimeString/@format": string;
                                            };
                                        };
                                        datePeriodMeasure: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string | number";
                                                    description: string;
                                                    xpath: string;
                                                };
                                                unit: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                        basisAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        calculationPercent: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        discountAmount: {
                                            key: string;
                                            type: "string | number";
                                            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;
                                                    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;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        organization: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                identifier: {
                                                    key: string;
                                                    type: "object";
                                                    description: string;
                                                    required: false;
                                                    shape: {
                                                        value: {
                                                            type: "string";
                                                            description: string;
                                                            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;
                                                        };
                                                    };
                                                };
                                                tradingName: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    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;
                                                        };
                                                    };
                                                };
                                            };
                                        };
                                        tradeContact: {
                                            key: string;
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                name: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                departmentName: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                typeCode: {
                                                    key: string;
                                                    type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                phoneNumber: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                faxNumber: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                emailAddress: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    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;
                                                };
                                                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: {
                                                identifier: {
                                                    key: string;
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:PayeeTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        precendingInvoices: {
                            type: "object[]";
                            required: false;
                            shape: {
                                typeCode: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                            };
                        };
                        buyerAccountant: {
                            type: "object";
                            required: false;
                            shape: {
                                typeCode: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                            };
                        };
                        advancePayment: {
                            key: string;
                            type: "object[]";
                            description: string;
                            required: false;
                            group: "advance-payment";
                            shape: {
                                paidAmount: {
                                    key: string;
                                    type: "string | number";
                                    description: string;
                                    xpath: string;
                                };
                                date: {
                                    key: string;
                                    type: "date";
                                    description: string;
                                    required: false;
                                    transform: {
                                        input: (date: unknown) => string | undefined;
                                    };
                                    xpath: string;
                                    additionalXml: {
                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedAdvancePayment[advance-payment]/ram:FormattedReceivedDateTime/qdt:DateTimeString/@format": string;
                                    };
                                };
                                tradeTax: {
                                    key: string;
                                    type: "object[]";
                                    description: string;
                                    validator: zod.ZodArray<zod.ZodAny, "many">;
                                    group: "advance-payment-trade-tax";
                                    shape: {
                                        calculatedAmount: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedAdvancePayment[advance-payment]/ram:IncludedTradeTax[advance-payment-trade-tax]/ram:TypeCode": string;
                                            };
                                        };
                                        exemptionReason: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            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;
                                        };
                                        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";
                                            description: string;
                                            xpath: string;
                                        };
                                    };
                                };
                                precendingInvoice: {
                                    key: string;
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        issuerAssignedID: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            key: string;
                                            type: "string";
                                            required: false;
                                            description: string;
                                            xpath: string;
                                        };
                                        date: {
                                            key: string;
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedAdvancePayment[advance-payment]/ram:InvoiceSpecifiedReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
                line: {
                    type: "object[]";
                    shape: {
                        parentIdentifier: {
                            key: string;
                            type: "string";
                            description: string;
                            required: false;
                            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" | "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")[];
                            description: string;
                            required: false;
                            defaultValue: string;
                            xpath: string;
                        };
                        subTypeCode: {
                            key: string;
                            type: ("DETAIL" | "GROUP" | "INFORMATION")[];
                            description: string;
                            required: false;
                            xpath: string;
                        };
                        noteContentCode: {
                            key: string;
                            type: "string";
                            description: string;
                            required: false;
                            xpath: string;
                        };
                        noteSubjectCode: {
                            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;
                        };
                        tradeProduct: {
                            type: "object";
                            shape: {
                                identifier: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                industryIdentifier: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                modelIdentifier: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                batchIdentifier: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                brandName: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                modelName: {
                                    key: string;
                                    type: "string";
                                    description: string;
                                    required: false;
                                    xpath: string;
                                };
                                attributes: {
                                    type: "object[]";
                                    required: false;
                                    shape: {
                                        typeCode: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        measureValue: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        measureUnit: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                classification: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                instances: {
                                    key: string;
                                    type: "object[]";
                                    description: string;
                                    group: "line-item-instances";
                                    required: false;
                                    shape: {
                                        batchIdentifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        supplierSerialIdentifier: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                referencedProduct: {
                                    key: string;
                                    type: "object[]";
                                    description: string;
                                    required: false;
                                    group: "line-item-referenced-product";
                                    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;
                                                };
                                            };
                                        };
                                        sellerAssignedID: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        buyerAssignedID: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        industryAssignedID: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        name: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        description: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        measureValue: {
                                            key: string;
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        measureUnit: {
                                            key: string;
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                        tradeAgreement: {
                            type: "object";
                            shape: {
                                sellerOrderReference: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:SellerOrderReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                buyerOrderReference: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:BuyerOrderReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                quotationReference: {
                                    type: "object";
                                    required: false;
                                    description: string;
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:QuotationReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                contractReference: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:ContractReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                additionalDocument: {
                                    type: "object[]";
                                    description: string;
                                    required: false;
                                    group: "line-item-additional-document";
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        externalLocation: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        description: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        content: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        mimeCode: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        filename: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        referenceTypeCode: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                grossTradePrice: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        discounts: {
                                            type: "object";
                                            shape: {
                                                calculationPercent: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                basisAmount: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                reasonCode: {
                                                    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: {
                                                    type: "string";
                                                    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;
                                            };
                                        };
                                        surcharges: {
                                            type: "object[]";
                                            description: string;
                                            sibling: (data: any, { line }: {
                                                [key: string]: number;
                                            }) => any;
                                            group: "line-item-surcharges";
                                            shape: {
                                                calculationPercent: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge[line-item-surcharges]/ram:ChargeIndicator/udt:Indicator": string;
                                                    };
                                                };
                                                basisAmount: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge[line-item-surcharges]/ram:ChargeIndicator/udt:Indicator": string;
                                                    };
                                                };
                                                actualAmount: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge[line-item-surcharges]/ram:ChargeIndicator/udt:Indicator": string;
                                                    };
                                                };
                                                reasonCode: {
                                                    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;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge[line-item-surcharges]/ram:ChargeIndicator/udt:Indicator": string;
                                                    };
                                                };
                                                reason: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge[line-item-surcharges]/ram:ChargeIndicator/udt:Indicator": string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                                netTradePrice: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        tradeTax: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                calculatedAmount: {
                                                    type: "string | number";
                                                    description: string;
                                                    xpath: string;
                                                };
                                                exemptionReason: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                exemptionReasonCode: {
                                                    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;
                                                };
                                                categoryCode: {
                                                    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: {
                                                    type: "string | number";
                                                    description: string;
                                                    xpath: string;
                                                };
                                            };
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:IncludedTradeTax/ram:TypeCode": string;
                                            };
                                        };
                                    };
                                };
                                customerOrderReference: {
                                    type: "object[]";
                                    description: string;
                                    group: "line-item-customer-order-reference";
                                    required: false;
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeAgreement/ram:UltimateCustomerOrderReferencedDocument[line-item-customer-order-reference]/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        tradeDelivery: {
                            type: "object";
                            shape: {
                                chargeFreeQuantity: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        value: {
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        unit: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                    };
                                };
                                packageQuantity: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        value: {
                                            type: "string | number";
                                            description: string;
                                            xpath: string;
                                        };
                                        unit: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                    };
                                };
                                shipTo: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        globalIdentifier: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        roleCode: {
                                            type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        organization: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                identifier: {
                                                    type: "object";
                                                    description: string;
                                                    required: false;
                                                    shape: {
                                                        value: {
                                                            type: "string";
                                                            description: string;
                                                            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;
                                                        };
                                                    };
                                                };
                                                businessName: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                tradeContact: {
                                                    type: "object";
                                                    description: string;
                                                    required: false;
                                                    shape: {
                                                        name: {
                                                            type: "string";
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                        departmentName: {
                                                            type: "string";
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                        typeCode: {
                                                            type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                        telephoneNumber: {
                                                            type: "string";
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                        faxNumber: {
                                                            type: "string";
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                        emailAddress: {
                                                            type: "string";
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                        };
                                                    };
                                                };
                                            };
                                        };
                                        postalAddress: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                postCode: {
                                                    type: "string | number";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                line1: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                line2: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                line3: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                city: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                countryCode: {
                                                    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: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                electronicAddress: {
                                                    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: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                identifier: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                    additionalXml: {
                                                        "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeDelivery/ram:ShipToTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                                deviatingShipTo: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        identifier: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        globalIdentifier: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                value: {
                                                    type: "string";
                                                    description: string;
                                                    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: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        roleCode: {
                                            type: ("EF" | "AA" | "AB" | "AE" | "CNY" | "COP" | "COU" | "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" | "IO" | "BN" | "BG" | "BF" | "BI" | "CV" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "COL" | "COM" | "CD" | "COD" | "CG" | "COG" | "CK" | "COK" | "CR" | "HR" | "CU" | "CW" | "CY" | "CZ" | "CI" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "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" | "JE" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MG" | "MT" | "MR" | "FM" | "MS" | "MA" | "NI" | "MP" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "RW" | "RE" | "BL" | "LC" | "MF" | "PM" | "VC" | "WS" | "ST" | "SN" | "RS" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "GS" | "SS" | "ES" | "LK" | "SR" | "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" | "ZZZ" | "FC" | "AJ" | "CS" | "CT" | "DL" | "EP" | "FH" | "HD" | "HH" | "IF" | "LF" | "MI" | "OA" | "PC" | "RF" | "RH" | "RV" | "SU" | "WH" | "COI" | "AN" | "EM" | "AH" | "AK" | "AY" | "B1" | "BP" | "DB" | "DD" | "DG" | "DN" | "DT" | "EA" | "EB" | "EQ" | "FF" | "FL" | "FP" | "FS" | "GJ" | "GO" | "GV" | "HA" | "HC" | "IU" | "IV" | "LD" | "LH" | "LM" | "LN" | "LO" | "LP" | "N1" | "ON" | "OT" | "P1" | "P2" | "PD" | "PI" | "PO" | "PQ" | "RM" | "RP" | "TI" | "TP" | "UB" | "UC" | "VP" | "WA" | "WB" | "WE" | "WG" | "WM" | "AP" | "AV" | "BC" | "COF" | "CP" | "DA" | "DI" | "DQ" | "DR" | "ED" | "EI" | "EN" | "EX" | "FN" | "FT" | "FV" | "FX" | "GC" | "HS" | "IB" | "II" | "IP" | "JB" | "OH" | "OI" | "OP" | "OR" | "PB" | "RA" | "SF" | "TB" | "TE" | "UN" | "UO" | "VM" | "VR" | "VS" | "VT" | "VV" | "WN" | "WR" | "BK" | "BU" | "BX" | "DW" | "IZ" | "UP" | "VX" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "TA" | "WI" | "WJ" | "WK" | "B2" | "C1" | "C2" | "CJ" | "CNX" | "CNZ" | "COA" | "COB" | "COC" | "COE" | "COH" | "COJ" | "CON" | "COO" | "COQ" | "COR" | "COS" | "COT" | "COV" | "COW" | "COX" | "COY" | "COZ" | "CPA" | "CPB" | "CPC" | "CPD" | "CPE" | "CPF" | "CPG" | "CQ" | "DC" | "DCP" | "DF" | "DH" | "DP" | "DS" | "DU" | "DV" | "DX" | "DY" | "EJ" | "EK" | "EL" | "EO" | "EU" | "EV" | "EW" | "EY" | "EZ" | "FA" | "FB" | "FD" | "FE" | "FG" | "FQ" | "FU" | "FW" | "FY" | "FZ" | "GK" | "GX" | "GZ" | "HB" | "HF" | "HI" | "HJ" | "HL" | "HO" | "HP" | "HQ" | "HV" | "HW" | "HX" | "HY" | "HZ" | "I1" | "I2" | "IG" | "IH" | "IJ" | "IW" | "IX" | "IY" | "JA" | "JC" | "JD" | "JF" | "JG" | "JH" | "LE" | "LG" | "LJ" | "LL" | "LQ" | "N2" | "OB" | "OD" | "OE" | "OF" | "OG" | "OJ" | "OK" | "OL" | "OO" | "OQ" | "OS" | "OU" | "OV" | "OW" | "OX" | "OY" | "OZ" | "P3" | "P4" | "PJ" | "PX" | "PZ" | "RB" | "RI" | "RL" | "TCP" | "TQ" | "TS" | "TU" | "TX" | "TY" | "UD" | "UE" | "UF" | "UH" | "UHP" | "UI" | "UJ" | "UK" | "UL" | "UQ" | "UR" | "UT" | "UU" | "UV" | "UW" | "UX" | "VB" | "VF" | "VH" | "VJ" | "VK" | "VL" | "VO" | "VQ" | "VW" | "VY" | "VZ" | "WC" | "WD" | "WL" | "WO" | "WP" | "WPA" | "WQ" | "WT" | "WU" | "WV" | "WW" | "XX")[];
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        organization: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                identifier: {
                                                    type: "object";
                                                    description: string;
                                                    required: false;
                                                    shape: {
                                                        value: {
                                                            type: "string";
                                                            description: string;
                                                            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;
                                                        };
                                                    };
                                                };
                                                businessName: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                        tradeContact: {
                                            type: "object";
                                            description: string;
                                            required: false;
                                            shape: {
                                                name: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                departmentName: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                typeCode: {
                                                    type: ("AA" | "AB" | "AC" | "AD" | "AE" | "AF" | "AL" | "AS" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BH" | "BD" | "BB" | "BE" | "BJ" | "BM" | "AX" | "BO" | "BQ" | "BA" | "BR" | "BN" | "BG" | "BF" | "BI" | "CA" | "CF" | "TD" | "CL" | "CN" | "CC" | "CO" | "CD" | "CG" | "CR" | "CW" | "EC" | "DE" | "GR" | "HM" | "IN" | "LB" | "MH" | "MR" | "MD" | "MC" | "MS" | "PA" | "PE" | "QA" | "BL" | "PM" | "SA" | "SC" | "SD" | "SR" | "TR" | "ZZZ" | "AJ" | "SU" | "WH" | "AN" | "AH" | "AK" | "AY" | "BP" | "EB" | "LO" | "NT" | "PD" | "RP" | "TI" | "AP" | "AV" | "BC" | "CP" | "DI" | "ED" | "EX" | "BK" | "BU" | "CB" | "CE" | "HE" | "HG" | "IC" | "OC" | "QC" | "RD" | "TA" | "WI" | "WJ" | "WK")[];
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                telephoneNumber: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                faxNumber: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                emailAddress: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                            };
                                        };
                                        postalAddress: {
                                            type: "object";
                                            description: string;
                                            shape: {
                                                postCode: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                line1: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                line2: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                line3: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                countryCode: {
                                                    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: {
                                                    type: "string";
                                                    description: string;
                                                    required: false;
                                                    xpath: string;
                                                };
                                                electronicAddress: {
                                                    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: {
                                                    type: "object";
                                                    description: string;
                                                    required: false;
                                                    shape: {
                                                        identifier: {
                                                            type: "string";
                                                            description: string;
                                                            required: false;
                                                            xpath: string;
                                                            additionalXml: {
                                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeDelivery/ram:UltimateShipToTradeParty/ram:SpecifiedTaxRegistration/ram:ID/@schemeID": string;
                                                            };
                                                        };
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                                information: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        deliveryDate: {
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                despatchAdvice: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeDelivery/ram:DespatchAdviceReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                receivingAdvice: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            required: false;
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeDelivery/ram:ReceivingAdviceReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                deliveryNote: {
                                    type: "object";
                                    description: string;
                                    required: false;
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            type: "date";
                                            description: string;
                                            required: false;
                                            transform: {
                                                input: (date: unknown) => string | undefined;
                                            };
                                            xpath: string;
                                            additionalXml: {
                                                "/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[line]/ram:SpecifiedLineTradeDelivery/ram:DeliveryNoteReferencedDocument/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                        tradeSettlement: {
                            type: "object";
                            shape: {
                                tradeTax: {
                                    type: "object";
                                    shape: {
                                        calculatedAmount: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        exemptionReason: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        exemptionReasonCode: {
                                            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;
                                        };
                                    };
                                };
                                monetarySummation: {
                                    type: "object";
                                    shape: {
                                        chargeTotalAmount: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        allowanceTotalAmount: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        taxTotalAmount: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        grandTotalAmount: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        totalAllowanceChargeAmount: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                                precendingInvoices: {
                                    type: "object[]";
                                    description: string;
                                    required: false;
                                    group: "line-item-precending-invoice";
                                    shape: {
                                        issuerAssignedID: {
                                            type: "string";
                                            description: string;
                                            xpath: string;
                                        };
                                        lineID: {
                                            type: "string | number";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        typeCode: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                        date: {
                                            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:InvoiceReferencedDocument[line-item-precending-invoice]/ram:FormattedIssueDateTime/qdt:DateTimeString/@format": string;
                                            };
                                        };
                                    };
                                };
                                buyerAccountant: {
                                    type: "object";
                                    required: false;
                                    shape: {
                                        typeCode: {
                                            type: "string";
                                            description: string;
                                            required: false;
                                            xpath: string;
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };
        };
    };
    mask: {
        readonly testIndicator: "BT-X-1-00";
        readonly businessProcessType: "BT-23";
        readonly specificationIdentifier: "BT-24";
        readonly number: "BT-1";
        readonly name: "BT-X-2";
        readonly typeCode: "BT-3";
        readonly issueDate: "BT-2";
        readonly copyIndicator: "BT-X-3-00";
        readonly language: "BT-X-4";
        readonly includedNote: "BG-1";
        readonly contractualDueDate: "BT-X-6";
        readonly transaction: readonly ["BG-25-00", {
            readonly line: readonly ["BG-25", {
                readonly identifier: "BT-126";
                readonly parentIdentifier: "BT-X-304";
                readonly typeCode: "BT-X-7";
                readonly subTypeCode: "BT-X-8";
                readonly noteContentCode: "BT-X-9";
                readonly note: "BT-127";
                readonly noteSubjectCode: "BT-X-10";
                readonly tradeProduct: readonly ["BG-31", {
                    readonly identifier: "BT-X-305";
                    readonly globalIdentifier: "BT-157";
                    readonly sellerAssignedID: "BT-155";
                    readonly buyerAssignedID: "BT-156";
                    readonly industryIdentifier: "BT-X-532";
                    readonly modelIdentifier: "BT-X-533";
                    readonly name: "BT-153";
                    readonly description: "BT-154";
                    readonly batchIdentifier: "BT-X-534";
                    readonly brandName: "BT-X-535";
                    readonly modelName: "BT-X-536";
                    readonly attributes: readonly ["BG-32", {
                        readonly typeCode: "BT-X-11";
                        readonly name: "BT-160";
                        readonly measureValue: "BT-X-12";
                        readonly measureUnit: "BT-X-12-0";
                        readonly value: "BT-161";
                    }];
                    readonly classifications: readonly ["BT-158-00", {
                        readonly identifier: "BT-158";
                        readonly name: "BT-X-13";
                    }];
                    readonly instances: readonly ["BG-X-84", {
                        readonly batchIdentifier: "BT-X-306";
                        readonly supplierSerialIdentifier: "BT-X-307";
                    }];
                    readonly origin: readonly ["BT-159-00", {
                        readonly countryCode: "BT-159";
                    }];
                    readonly referencedProduct: readonly ["BG-X-1", {
                        readonly identifier: "BT-X-308";
                        readonly globalIdentifier: "BT-X-15";
                        readonly sellerAssignedID: "BT-X-16";
                        readonly buyerAssignedID: "BT-X-17";
                        readonly industryAssignedID: "BT-X-309";
                        readonly name: "BT-X-18";
                        readonly description: "BT-X-19";
                        readonly measureValue: "BT-X-20";
                        readonly measureUnit: "BT-X-20-1";
                    }];
                }];
                readonly tradeAgreement: readonly ["BG-29", {
                    readonly buyerOrderReference: readonly ["BT-132-00", {
                        readonly lineID: "BT-132";
                    }];
                    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 basisAmount: "BT-137";
                        readonly actualAmount: "BT-136";
                        readonly reasonCode: "BT-140";
                        readonly reason: "BT-139";
                    }];
                    readonly charges: readonly ["BG-28", {
                        readonly basisAmount: "BT-142";
                        readonly actualAmount: "BT-141";
                        readonly reasonCode: "BT-145";
                        readonly reason: "BT-144";
                    }];
                    readonly monetarySummation: readonly ["BT-131-00", {
                        readonly lineTotalAmount: "BT-131";
                    }];
                    readonly objectIdentifier: "BT-128-00";
                    readonly buyerAccountant: readonly ["BT-133-00", {
                        readonly reference: "BT-133";
                    }];
                }];
            }];
            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 typeCode: "BT-X-543";
                    readonly description: "BT-33";
                    readonly organization: readonly ["BT-30-00", {
                        readonly registrationIdentifier: "BT-30";
                        readonly tradingName: "BT-28";
                        readonly postalAddress: readonly ["BG-X-14", {
                            readonly postCode: "BT-X-100";
                            readonly line1: "BT-X-101";
                            readonly line2: "BT-X-102";
                            readonly line3: "BT-X-103";
                            readonly city: "BT-X-104";
                            readonly countryCode: "BT-X-105";
                            readonly countrySubdivision: "BT-X-106";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-6", {
                        readonly name: "BT-41";
                        readonly departmentName: "BT-41-0";
                        readonly typeCode: "BT-X-317";
                        readonly phoneNumber: "BT-42";
                        readonly faxNumber: "BT-X-107";
                        readonly emailAddress: "BT-43";
                    }];
                    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 typeCode: "BT-X-544";
                    readonly description: "BT-X-334";
                    readonly organization: readonly ["BT-47-00", {
                        readonly registrationIdentifier: "BT-47";
                        readonly tradingName: "BT-45";
                        readonly postalAddress: readonly ["BG-X-15", {
                            readonly postCode: "BT-X-108";
                            readonly line1: "BT-X-109";
                            readonly line2: "BT-X-110";
                            readonly line3: "BT-X-111";
                            readonly city: "BT-X-112";
                            readonly countryCode: "BT-X-113";
                            readonly countrySubdivision: "BT-X-114";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-9", {
                        readonly name: "BT-56";
                        readonly departmentName: "BT-56-0";
                        readonly typeCode: "BT-X-318";
                        readonly phoneNumber: "BT-57";
                        readonly faxNumber: "BT-X-115";
                        readonly emailAddress: "BT-58";
                    }];
                    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 salesAgent: readonly ["BG-X-49", {
                    readonly identifier: "BT-X-337";
                    readonly globalIdentifier: "BT-X-338";
                    readonly name: "BT-X-335";
                    readonly typeCode: "BT-X-545";
                    readonly organization: readonly ["BG-X-50", {
                        readonly identifier: "BT-X-339";
                        readonly tradingName: "BT-X-336";
                        readonly postalAddress: readonly ["BG-X-53", {
                            readonly postCode: "BT-X-355";
                            readonly line1: "BT-X-356";
                            readonly line2: "BT-X-357";
                            readonly line3: "BT-X-358";
                            readonly city: "BT-X-359";
                            readonly countryCode: "BT-X-360";
                            readonly countrySubdivision: "BT-X-361";
                        }];
                        readonly tradeContact: readonly ["BG-X-51", {
                            readonly name: "BT-X-342";
                            readonly departmentName: "BT-X-343";
                            readonly typeCode: "BT-X-347";
                            readonly phoneNumber: "BT-X-344";
                            readonly faxNumber: "BT-X-345";
                            readonly emailAddress: "BT-X-346";
                        }];
                    }];
                    readonly postalAddress: readonly ["BG-X-52", {
                        readonly postCode: "BT-X-348";
                        readonly line1: "BT-X-349";
                        readonly line2: "BT-X-350";
                        readonly line3: "BT-X-351";
                        readonly city: "BT-X-352";
                        readonly countryCode: "BT-X-353";
                        readonly countrySubdivision: "BT-X-354";
                        readonly electronicAddress: "BT-X-341-00";
                    }];
                    readonly taxRegistration: readonly ["BT-X-340-00", {
                        readonly identifier: "BT-X-340";
                    }];
                }];
                readonly buyerTaxRepresentative: readonly ["BG-X-54", {
                    readonly identifier: "BT-X-364";
                    readonly globalIdentifier: "BT-X-365";
                    readonly name: "BT-X-362";
                    readonly typeCode: "BT-X-546";
                    readonly organization: readonly ["BG-X-58", {
                        readonly identifier: "BT-X-366";
                        readonly tradingName: "BT-X-363";
                        readonly postalAddress: readonly ["BG-X-57", {
                            readonly postCode: "BT-X-382";
                            readonly line1: "BT-X-383";
                            readonly line2: "BT-X-384";
                            readonly line3: "BT-X-385";
                            readonly city: "BT-X-386";
                            readonly countryCode: "BT-X-387";
                            readonly countrySubdivision: "BT-X-388";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-55", {
                        readonly name: "BT-X-369";
                        readonly departmentName: "BT-X-370";
                        readonly typeCode: "BT-X-371";
                        readonly phoneNumber: "BT-X-372";
                        readonly faxNumber: "BT-X-373";
                        readonly emailAddress: "BT-X-374";
                    }];
                    readonly postalAddress: readonly ["BG-X-56", {
                        readonly postCode: "BT-X-375";
                        readonly line1: "BT-X-376";
                        readonly line2: "BT-X-377";
                        readonly line3: "BT-X-378";
                        readonly city: "BT-X-379";
                        readonly countryCode: "BT-X-380";
                        readonly countrySubdivision: "BT-X-381";
                        readonly electronicAddress: "BT-X-368";
                    }];
                    readonly taxRegistration: readonly ["BT-X-367-00", {
                        readonly identifier: "BT-X-367";
                    }];
                }];
                readonly sellerTaxRepresentative: readonly ["BG-11", {
                    readonly identifier: "BT-X-116";
                    readonly globalIdentifier: "BT-X-117";
                    readonly name: "BT-62";
                    readonly typeCode: "BT-X-547";
                    readonly organization: readonly ["BG-X-16", {
                        readonly identifier: "BT-X-118";
                        readonly tradingName: "BT-X-119";
                        readonly postalAddress: readonly ["BG-X-59", {
                            readonly postCode: "BT-X-389";
                            readonly line1: "BT-X-390";
                            readonly line2: "BT-X-391";
                            readonly line3: "BT-X-392";
                            readonly city: "BT-X-393";
                            readonly countryCode: "BT-X-394";
                            readonly countrySubdivision: "BT-X-395";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-17", {
                        readonly name: "BT-X-120";
                        readonly departmentName: "BT-X-121";
                        readonly typeCode: "BT-X-319";
                        readonly phoneNumber: "BT-X-122";
                        readonly faxNumber: "BT-X-123";
                        readonly emailAddress: "BT-X-124";
                    }];
                    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 electronicAddress: "BT-X-125";
                    }];
                }];
                readonly productEndUser: readonly ["BG-X-18", {
                    readonly identifier: "BT-X-126";
                    readonly globalIdentifier: "BT-X-127";
                    readonly name: "BT-X-128";
                    readonly typeCode: "BT-X-548";
                    readonly organization: readonly ["BG-X-19", {
                        readonly identifier: "BT-X-129";
                        readonly tradingName: "BT-X-130";
                        readonly postalAddress: readonly ["BG-X-60", {
                            readonly postCode: "BT-X-396";
                            readonly line1: "BT-X-397";
                            readonly line2: "BT-X-398";
                            readonly line3: "BT-X-399";
                            readonly city: "BT-X-400";
                            readonly countryCode: "BT-X-401";
                            readonly countrySubdivision: "BT-X-402";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-20", {
                        readonly name: "BT-X-131";
                        readonly departmentName: "BT-X-132";
                        readonly typeCode: "BT-X-320";
                        readonly phoneNumber: "BT-X-133";
                        readonly faxNumber: "BT-X-134";
                        readonly emailAddress: "BT-X-135";
                    }];
                    readonly postalAddress: readonly ["BG-X-21", {
                        readonly postCode: "BT-X-136";
                        readonly line1: "BT-X-137";
                        readonly line2: "BT-X-138";
                        readonly line3: "BT-X-139";
                        readonly city: "BT-X-140";
                        readonly countryCode: "BT-X-141";
                        readonly countrySubdivision: "BT-X-142";
                        readonly electronicAddress: "BT-X-143";
                    }];
                    readonly taxRegistration: readonly ["BT-X-144-00", {
                        readonly identifier: "BT-X-144";
                    }];
                }];
                readonly tradeDeliveryTerms: readonly ["BG-X-22", {
                    readonly typeCode: "BT-X-145";
                }];
                readonly associatedOrderConfirmation: readonly ["BT-14-00", {
                    readonly salesOrderReference: "BT-14";
                    readonly date: "BT-X-146";
                }];
                readonly associatedOrder: readonly ["BT-13-00", {
                    readonly purchaseOrderReference: "BT-13";
                    readonly date: "BT-X-147";
                }];
                readonly quotationReference: readonly ["BG-X-61", {
                    readonly issuerAssignedID: "BT-X-403";
                    readonly date: "BT-X-404";
                }];
                readonly associatedContract: readonly ["BT-12-00", {
                    readonly reference: "BT-12";
                    readonly typeCode: "BT-X-405";
                    readonly date: "BT-X-148";
                }];
                readonly supportingDocuments: readonly ["BG-24", {
                    readonly reference: "BT-122";
                    readonly externalLocation: "BT-124";
                    readonly description: "BT-123";
                    readonly content: "BT-125";
                    readonly mimeCode: "BT-125-1";
                    readonly filename: "BT-125-2";
                    readonly date: "BT-X-149";
                }];
                readonly tenderOrLotReference: readonly ["BT-17-00", {
                    readonly reference: "BT-17";
                    readonly date: "BT-X-556";
                }];
                readonly objectIdentifier: readonly ["BT-18-00", {
                    readonly reference: "BT-18";
                    readonly referenceTypeCode: "BT-18-1";
                    readonly date: "BT-X-557";
                }];
                readonly buyerAgent: readonly ["BG-X-62", {
                    readonly identifier: "BT-X-408";
                    readonly globalIdentifier: "BT-X-409";
                    readonly name: "BT-X-406";
                    readonly typeCode: "BT-X-549";
                    readonly organization: readonly ["BG-X-63", {
                        readonly identifier: "BT-X-410";
                        readonly tradingName: "BT-X-407";
                        readonly postalAddress: readonly ["BG-X-66", {
                            readonly postalCode: "BT-X-426";
                            readonly line1: "BT-X-427";
                            readonly line2: "BT-X-428";
                            readonly line3: "BT-X-429";
                            readonly city: "BT-X-430";
                            readonly countryCode: "BT-X-431";
                            readonly countrySubdivision: "BT-X-432";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-64", {
                        readonly name: "BT-X-413";
                        readonly departmentName: "BT-X-414";
                        readonly typeCode: "BT-X-415";
                        readonly phoneNumber: "BT-X-416";
                        readonly faxNumber: "BT-X-417";
                        readonly emailAddress: "BT-X-418";
                    }];
                    readonly postalAddress: readonly ["BG-X-65", {
                        readonly postCode: "BT-X-419";
                        readonly line1: "BT-X-420";
                        readonly line2: "BT-X-421";
                        readonly line3: "BT-X-422";
                        readonly city: "BT-X-423";
                        readonly countryCode: "BT-X-424";
                        readonly countrySubdivision: "BT-X-425";
                        readonly electronicAddress: "BT-X-412";
                    }];
                    readonly taxRegistration: readonly ["BT-X-411-00", {
                        readonly identifier: "BT-X-411";
                    }];
                }];
                readonly project: readonly ["BT-11-00", {
                    readonly reference: "BT-11";
                    readonly name: "BT-11-0";
                }];
                readonly customerOrderReference: readonly ["BG-X-23", {
                    readonly issuerAssignedID: "BT-X-150";
                    readonly date: "BT-X-151";
                }];
            }];
            readonly tradeDelivery: readonly ["BG-13-00", {
                readonly relatedConsignment: readonly ["BG-X-24", {
                    readonly transportMovement: "BT-X-152-00";
                    readonly deliveryMethod: "BT-X-152";
                }];
                readonly shipTo: readonly ["BG-13", {
                    readonly identifier: "BT-71";
                    readonly globalIdentifier: "BT-71-00";
                    readonly name: "BT-70";
                    readonly typeCode: "BT-X-550";
                    readonly organization: readonly ["BG-X-25", {
                        readonly identifier: "BT-X-153";
                        readonly tradingName: "BT-X-154";
                        readonly postalAddress: readonly ["BG-X-67", {
                            readonly postCode: "BT-X-433";
                            readonly line1: "BT-X-434";
                            readonly line2: "BT-X-435";
                            readonly line3: "BT-X-436";
                            readonly city: "BT-X-437";
                            readonly countryCode: "BT-X-438";
                            readonly countrySubdivision: "BT-X-439";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-26", {
                        readonly name: "BT-X-155";
                        readonly departmentName: "BT-X-156";
                        readonly typeCode: "BT-X-321";
                        readonly phoneNumber: "BT-X-157";
                        readonly faxNumber: "BT-X-158";
                        readonly emailAddress: "BT-X-159";
                    }];
                    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 electronicAddress: "BT-X-160";
                    }];
                    readonly taxRegistration: readonly ["BT-X-161-00", {
                        readonly identifier: "BT-X-161";
                    }];
                }];
                readonly finalShipTo: readonly ["BG-X-27", {
                    readonly identifier: "BT-X-162";
                    readonly globalIdentifier: "BT-X-163";
                    readonly name: "BT-X-164";
                    readonly typeCode: "BT-X-551";
                    readonly organization: readonly ["BT-X-165-00", {
                        readonly identifier: "BT-X-165";
                        readonly tradingName: "BT-X-166";
                        readonly postalAddress: readonly ["BG-X-68", {
                            readonly postCode: "BT-X-440";
                            readonly line1: "BT-X-441";
                            readonly line2: "BT-X-442";
                            readonly line3: "BT-X-443";
                            readonly city: "BT-X-444";
                            readonly countryCode: "BT-X-445";
                            readonly countrySubdivision: "BT-X-446";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-28", {
                        readonly name: "BT-X-167";
                        readonly departmentName: "BT-X-168";
                        readonly typeCode: "BT-X-322";
                        readonly phoneNumber: "BT-X-169";
                        readonly faxNumber: "BT-X-170";
                        readonly emailAddress: "BT-X-171";
                    }];
                    readonly postalAddress: readonly ["BG-X-29", {
                        readonly postCode: "BT-X-172";
                        readonly line1: "BT-X-173";
                        readonly line2: "BT-X-174";
                        readonly line3: "BT-X-175";
                        readonly city: "BT-X-176";
                        readonly countryCode: "BT-X-177";
                        readonly countrySubdivision: "BT-X-178";
                        readonly electronicAddress: "BT-X-179";
                    }];
                    readonly taxRegistration: readonly ["BT-X-180-00", {
                        readonly identifier: "BT-X-180";
                    }];
                }];
                readonly shipFrom: readonly ["BG-X-30", {
                    readonly identifier: "BT-X-181";
                    readonly globalIdentifier: "BT-X-182";
                    readonly name: "BT-X-183";
                    readonly typeCode: "BT-X-552";
                    readonly organization: readonly ["BT-X-184-00", {
                        readonly identifier: "BT-X-184";
                        readonly tradingName: "BT-X-185";
                        readonly postalAddress: readonly ["BG-X-69", {
                            readonly postCode: "BT-X-447";
                            readonly line1: "BT-X-448";
                            readonly line2: "BT-X-449";
                            readonly line3: "BT-X-450";
                            readonly city: "BT-X-451";
                            readonly countryCode: "BT-X-452";
                            readonly countrySubdivision: "BT-X-453";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-31", {
                        readonly name: "BT-X-186";
                        readonly departmentName: "BT-X-187";
                        readonly typeCode: "BT-X-323";
                        readonly phoneNumber: "BT-X-188";
                        readonly faxNumber: "BT-X-189";
                        readonly emailAddress: "BT-X-190";
                    }];
                    readonly postalAddress: readonly ["BG-X-32", {
                        readonly postCode: "BT-X-191";
                        readonly line1: "BT-X-192";
                        readonly line2: "BT-X-193";
                        readonly line3: "BT-X-194";
                        readonly city: "BT-X-195";
                        readonly countryCode: "BT-X-196";
                        readonly countrySubdivision: "BT-X-197";
                        readonly electronicAddress: "BT-X-198";
                    }];
                    readonly taxRegistration: readonly ["BT-X-199-00", {
                        readonly identifier: "BT-X-199";
                    }];
                }];
                readonly information: readonly ["BT-72-00", {
                    readonly deliveryDate: "BT-72";
                }];
                readonly despatchAdvice: readonly ["BT-16-00", {
                    readonly issuerAssignedID: "BT-16";
                    readonly date: "BT-X-200";
                }];
                readonly associatedGoodsReceipt: readonly ["BT-15-00", {
                    readonly reference: "BT-15";
                    readonly date: "BT-X-201";
                    readonly deliveryNote: readonly ["BT-X-202-00", {
                        readonly issuerAssignedID: "BT-X-202";
                        readonly date: "BT-X-203";
                    }];
                }];
            }];
            readonly tradeSettlement: readonly ["BG-19", {
                readonly creditorIdentifier: "BT-90";
                readonly remittanceInformation: "BT-83";
                readonly vatAccountingCurrencyCode: "BT-6";
                readonly currencyCode: "BT-5";
                readonly issuerReference: "BT-X-204";
                readonly invoicer: readonly ["BG-X-33", {
                    readonly identifier: "BT-X-205";
                    readonly globalIdentifier: "BT-X-206";
                    readonly name: "BT-X-207";
                    readonly typeCode: "BT-X-553";
                    readonly organization: readonly ["BT-X-208-00", {
                        readonly identifier: "BT-X-208";
                        readonly tradingName: "BT-X-209";
                        readonly postalAddress: readonly ["BG-X-70", {
                            readonly postCode: "BT-X-454";
                            readonly line1: "BT-X-455";
                            readonly line2: "BT-X-456";
                            readonly line3: "BT-X-457";
                            readonly city: "BT-X-458";
                            readonly countryCode: "BT-X-459";
                            readonly countrySubdivision: "BT-X-460";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-34", {
                        readonly name: "BT-X-210";
                        readonly departmentName: "BT-X-211";
                        readonly typeCode: "BT-X-324";
                        readonly phoneNumber: "BT-X-212";
                        readonly faxNumber: "BT-X-213";
                        readonly emailAddress: "BT-X-214";
                    }];
                    readonly postalAddress: readonly ["BG-X-35", {
                        readonly postCode: "BT-X-215";
                        readonly line1: "BT-X-216";
                        readonly line2: "BT-X-217";
                        readonly line3: "BT-X-218";
                        readonly city: "BT-X-219";
                        readonly countryCode: "BT-X-220";
                        readonly countrySubdivision: "BT-X-221";
                        readonly electronicAddress: "BT-X-222";
                    }];
                    readonly taxRegistration: readonly ["BT-X-223-00", {
                        readonly identifier: "BT-X-223";
                    }];
                }];
                readonly invoicee: readonly ["BG-X-36", {
                    readonly identifier: "BT-X-224";
                    readonly globalIdentifier: "BT-X-225";
                    readonly name: "BT-X-226";
                    readonly typeCode: "BT-X-554";
                    readonly organization: readonly ["BT-X-227-00", {
                        readonly identifier: "BT-X-227";
                        readonly tradeName: "BT-X-228";
                        readonly postalAddress: readonly ["BG-X-71", {
                            readonly postCode: "BT-X-461";
                            readonly line1: "BT-X-462";
                            readonly line2: "BT-X-463";
                            readonly line3: "BT-X-464";
                            readonly city: "BT-X-465";
                            readonly countryCode: "BT-X-466";
                            readonly countrySubdivision: "BT-X-467";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-37", {
                        readonly name: "BT-X-229";
                        readonly departmentName: "BT-X-230";
                        readonly typeCode: "BT-X-325";
                        readonly phoneNumber: "BT-X-231";
                        readonly faxNumber: "BT-X-232";
                        readonly emailAddress: "BT-X-233";
                    }];
                    readonly postalAddress: readonly ["BG-X-38", {
                        readonly postCode: "BT-X-234";
                        readonly line1: "BT-X-235";
                        readonly line2: "BT-X-236";
                        readonly line3: "BT-X-237";
                        readonly city: "BT-X-238";
                        readonly countryCode: "BT-X-239";
                        readonly countrySubdivision: "BT-X-240";
                        readonly electronicAddress: "BT-X-241";
                    }];
                    readonly taxRegistration: readonly ["BT-X-242-00", {
                        readonly identifier: "BT-X-242";
                    }];
                }];
                readonly payee: readonly ["BG-10", {
                    readonly identifier: "BT-60";
                    readonly globalIdentifier: "BT-60-0";
                    readonly name: "BT-59";
                    readonly typeCode: "BT-X-468";
                    readonly organization: readonly ["BT-61-00", {
                        readonly registrationIdentifier: "BT-61";
                        readonly tradingName: "BT-X-243";
                        readonly postalAddress: readonly ["BG-X-72", {
                            readonly postCode: "BT-X-469";
                            readonly line1: "BT-X-470";
                            readonly line2: "BT-X-471";
                            readonly line3: "BT-X-472";
                            readonly city: "BT-X-473";
                            readonly countryCode: "BT-X-474";
                            readonly countrySubdivision: "BT-X-475";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-39", {
                        readonly name: "BT-X-244";
                        readonly departmentName: "BT-X-245";
                        readonly typeCode: "BT-X-326";
                        readonly phoneNumber: "BT-X-246";
                        readonly faxNumber: "BT-X-247";
                        readonly emailAddress: "BT-X-248";
                    }];
                    readonly postalAddress: readonly ["BG-X-40", {
                        readonly postCode: "BT-X-249";
                        readonly line1: "BT-X-250";
                        readonly line2: "BT-X-251";
                        readonly line3: "BT-X-252";
                        readonly city: "BT-X-253";
                        readonly countryCode: "BT-X-254";
                        readonly countrySubdivision: "BT-X-255";
                        readonly electronicAddress: "BT-X-256";
                    }];
                    readonly taxRegistration: readonly ["BT-X-257-00", {
                        readonly identifier: "BT-X-257";
                    }];
                }];
                readonly payer: readonly ["BG-X-73", {
                    readonly identifier: "BT-X-478";
                    readonly globalIdentifier: "BT-X-479";
                    readonly name: "BT-X-476";
                    readonly typeCode: "BT-X-483";
                    readonly organization: readonly ["BT-X-480-00", {
                        readonly identifier: "BT-X-480";
                        readonly tradingName: "BT-X-477";
                        readonly postalAddress: readonly ["BG-X-76", {
                            readonly postCode: "BT-X-497";
                            readonly line1: "BT-X-498";
                            readonly line2: "BT-X-499";
                            readonly line3: "BT-X-500";
                            readonly city: "BT-X-501";
                            readonly countryCode: "BT-X-502";
                            readonly countrySubdivision: "BT-X-503";
                        }];
                    }];
                    readonly tradeContact: readonly ["BG-X-74", {
                        readonly name: "BT-X-484";
                        readonly departmentName: "BT-X-485";
                        readonly typeCode: "BT-X-486";
                        readonly phoneNumber: "BT-X-487";
                        readonly faxNumber: "BT-X-488";
                        readonly emailAddress: "BT-X-489";
                    }];
                    readonly postalAddress: readonly ["BG-X-75", {
                        readonly postCode: "BT-X-490";
                        readonly line1: "BT-X-491";
                        readonly line2: "BT-X-492";
                        readonly line3: "BT-X-493";
                        readonly city: "BT-X-494";
                        readonly countryCode: "BT-X-495";
                        readonly countrySubdivision: "BT-X-496";
                        readonly electronicAddress: "BT-X-482";
                    }];
                    readonly taxRegistration: readonly ["BT-X-481-00", {
                        readonly identifier: "BT-X-481";
                    }];
                }];
                readonly tradeCurrencyExchange: readonly ["BG-X-41", {
                    readonly invoiceCurrency: "BT-X-258";
                    readonly localCurrency: "BT-X-259";
                    readonly exchangeRate: "BT-X-260";
                    readonly exchangeRateDate: "BT-X-261";
                }];
                readonly paymentInstruction: readonly ["BG-16", {
                    readonly typeCode: "BT-81";
                    readonly information: "BT-82";
                    readonly cardInformation: readonly ["BG-18", {
                        readonly primaryAccountNumber: "BT-87";
                        readonly holderName: "BT-88";
                    }];
                    readonly debitedAccountIdentifier: "BT-91";
                    readonly transfers: readonly ["BG-17", {
                        readonly paymentAccountIdentifier: "BT-84";
                        readonly accountname: "BT-85";
                        readonly nationalAccountNumber: "BT-84-0";
                    }];
                    readonly sellerBankInformation: readonly ["BT-86-00", {
                        readonly serviceProdiverIdentifier: "BT-86";
                    }];
                }];
                readonly vatBreakdown: readonly ["BG-23", {
                    readonly calculatedAmount: "BT-117";
                    readonly typeCode: "BT-118-0";
                    readonly exemptionReasonText: "BT-120";
                    readonly basisAmount: "BT-116";
                    readonly lineTotalBasisAmount: "BT-X-262";
                    readonly allowanceChargeBasisAmount: "BT-X-263";
                    readonly categoryCode: "BT-118";
                    readonly exemptionReasonCode: "BT-121";
                    readonly taxDueDate: "BT-7";
                    readonly dueDateTypeCode: "BT-8";
                    readonly rateApplicablePercent: "BT-119";
                }];
                readonly invoicingPeriod: readonly ["BG-14", {
                    readonly description: "BT-X-264";
                    readonly startDate: "BT-73";
                    readonly endDate: "BT-74";
                }];
                readonly allowances: readonly ["BG-20", {
                    readonly calculationSequence: "BT-X-265";
                    readonly calculationPercent: "BT-94";
                    readonly basisAmount: "BT-93";
                    readonly basisQuantity: "BT-X-266";
                    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 calculationSequence: "BT-X-268";
                    readonly calculationPercent: "BT-101";
                    readonly basisAmount: "BT-100";
                    readonly basisQuantity: "BT-X-269";
                    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 logisticsServiceCharge: readonly ["BG-X-42", {
                    readonly description: "BT-X-271";
                    readonly amount: "BT-X-272";
                    readonly tradeTax: readonly ["BT-X-273-00", {
                        readonly typeCode: "BT-X-273-0";
                        readonly categoryCode: "BT-X-273";
                        readonly rateApplicablePercent: "BT-X-274";
                    }];
                }];
                readonly paymentTerms: readonly ["BT-20-00", {
                    readonly description: "BT-20";
                    readonly dueDate: "BT-9";
                    readonly mandateReferenceIdentifier: "BT-89";
                    readonly partialPaymentAmount: "BT-X-275";
                    readonly penaltyTerms: readonly ["BG-X-43", {
                        readonly date: "BT-X-276";
                        readonly datePeriodMeasure: "BT-X-277";
                        readonly basisAmount: "BT-X-279";
                        readonly calculationPercent: "BT-X-280";
                        readonly penaltyAmount: "BT-X-281";
                    }];
                    readonly discountTerms: readonly ["BG-X-44", {
                        readonly date: "BT-X-282";
                        readonly datePeriodMeasure: "BT-X-283";
                        readonly basisAmount: "BT-X-285";
                        readonly calculationPercent: "BT-X-286";
                        readonly discountAmount: "BT-X-287";
                    }];
                    readonly payee: readonly ["BG-X-77", {
                        readonly identifier: "BT-X-506";
                        readonly globalIdentifier: "BT-X-507";
                        readonly name: "BT-X-504";
                        readonly typeCode: "BT-X-511";
                        readonly organization: readonly ["BT-X-508-00", {
                            readonly identifier: "BT-X-508";
                            readonly tradingName: "BT-X-505";
                            readonly postalAddress: readonly ["BG-X-80", {
                                readonly postCode: "BT-X-525";
                                readonly line1: "BT-X-526";
                                readonly line2: "BT-X-527";
                                readonly line3: "BT-X-528";
                                readonly city: "BT-X-529";
                                readonly countryCode: "BT-X-530";
                                readonly countrySubdivision: "BT-X-531";
                            }];
                        }];
                        readonly tradeContact: readonly ["BG-X-78", {
                            readonly name: "BT-X-512";
                            readonly departmentName: "BT-X-513";
                            readonly typeCode: "BT-X-514";
                            readonly phoneNumber: "BT-X-515";
                            readonly faxNumber: "BT-X-516";
                            readonly emailAddress: "BT-X-517";
                        }];
                        readonly postalAddress: readonly ["BG-X-79", {
                            readonly postCode: "BT-X-518";
                            readonly line1: "BT-X-519";
                            readonly line2: "BT-X-520";
                            readonly line3: "BT-X-521";
                            readonly city: "BT-X-522";
                            readonly countryCode: "BT-X-523";
                            readonly countrySubdivision: "BT-X-524";
                            readonly electronicAddress: "BT-X-510";
                        }];
                        readonly taxRegistration: readonly ["BT-X-509-00", {
                            readonly identifier: "BT-X-509";
                        }];
                    }];
                }];
                readonly monetarySummation: readonly ["BG-22", {
                    readonly lineTotalAmount: "BT-106";
                    readonly chargeTotalAmount: "";
                    readonly allowanceTotalAmount: "";
                    readonly taxBasisTotalAmount: "BT-109";
                    readonly taxTotal: "BT-110";
                    readonly roundingAmount: "BT-114";
                    readonly grandTotalAmount: "BT-112";
                    readonly paidAmount: "BT-113";
                    readonly duePayableAmount: "BT-115";
                }];
                readonly precendingInvoices: readonly ["BG-3", {
                    readonly reference: "BT-25";
                    readonly typeCode: "BT-X-555";
                    readonly issueDate: "BT-26";
                }];
                readonly buyerAccountant: readonly ["BT-19-00", {
                    readonly reference: "BT-19";
                    readonly typeCode: "BT-X-290";
                }];
                readonly advancePayment: readonly ["BG-X-45", {
                    readonly paidAmount: "BT-X-291";
                    readonly date: "BT-X-292";
                    readonly tradeTax: readonly ["BG-X-46", {
                        readonly calculatedAmount: "BT-X-293";
                        readonly exemptionReason: "BT-X-295";
                        readonly categoryCode: "BT-X-296";
                        readonly exemptionReasonCode: "BT-X-297";
                        readonly rateApplicablePercent: "BT-X-298";
                    }];
                    readonly precendingInvoice: readonly ["BG-X-85", {
                        readonly issuerAssignedID: "BT-X-558";
                        readonly typeCode: "BT-X-559";
                        readonly date: "BT-X-560";
                    }];
                }];
            }];
        }];
    };
    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 ProfileExtended = InferSchema<typeof EXTENDED>;

export { EXTENDED, type ProfileExtended };
