<!ELEMENT root (customer)>
<!ELEMENT customer (customerbaseinformation, customerfinvoicedetails?, customerdeliverydetails?, customercontactdetails?, customeradditionalinformation?, customerdimensiondetails?)>
<!ELEMENT customerbaseinformation (internalidentifier?, externalidentifier?, organizationunitnumber?, name?, nameextension?, streetaddress?, additionaladdressline?, city?, postnumber?, country?, customergroupname?, phonenumber?, faxnumber?, email?, homepageuri?, isactive?, isprivatecustomer?, emailinvoicingaddress?)>
<!ELEMENT customerfinvoicedetails (finvoiceaddress?, finvoiceroutercode?)>
<!ELEMENT customerdeliverydetails (deliveryname?, deliverystreetaddress?, deliverycity?, deliverypostnumber?, deliverycountry?)>
<!ELEMENT customercontactdetails (contactname?, contactperson?, contactpersonemail?, contactpersonphone?)>
<!ELEMENT customeradditionalinformation (comment?, customeragreementidentifier?, customerreferencenumber?, usecreditorreferencenumber?, useorderreferencenumber?, directdebitbankaccount?, invoicinglanguage?, invoiceprintchannelformat?, yourdefaultreference?, defaulttextbeforeinvoicelines?, defaulttextafterinvoicelines?,  defaultpaymentterm?, defaultsecondname?, paymentinterest?, balancelimit?, receivablesmanagementautomationrule?, factoringaccount?, taxhandlingtype?, eustandardfinvoice?, denyinvoicecollection?, denydelivery?, defaultsalesperson?)>
<!ELEMENT defaultsalesperson (salespersonid)>
<!ELEMENT customerdimensiondetails (dimension*)>

<!ELEMENT internalidentifier (#PCDATA)>
<!ATTLIST internalidentifier type (automatic) #IMPLIED>
<!ELEMENT externalidentifier (#PCDATA)>
<!ELEMENT organizationunitnumber (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT nameextension (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT streetaddress (#PCDATA)>
<!ELEMENT additionaladdressline (#PCDATA)>
<!ELEMENT postnumber (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ATTLIST country type CDATA "ISO-3166">

<!ELEMENT customergroupname (#PCDATA)>
<!ELEMENT phonenumber (#PCDATA)>
<!ELEMENT faxnumber (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT homepageuri (#PCDATA)>
<!ELEMENT isactive (#PCDATA)>
<!ELEMENT isprivatecustomer (#PCDATA)>
<!ELEMENT emailinvoicingaddress (#PCDATA)>

<!ELEMENT finvoiceaddress (#PCDATA)>
<!ELEMENT finvoiceroutercode (#PCDATA)>

<!ELEMENT deliveryname (#PCDATA)>
<!ELEMENT deliverystreetaddress (#PCDATA)>
<!ELEMENT deliverycity (#PCDATA)>
<!ELEMENT deliverypostnumber (#PCDATA)>
<!ELEMENT deliverycountry (#PCDATA)>
<!ATTLIST deliverycountry type CDATA "ISO-3166">

<!ELEMENT contactname (#PCDATA)>
<!ELEMENT contactperson (#PCDATA)>
<!ELEMENT contactpersonemail (#PCDATA)>
<!ELEMENT contactpersonphone (#PCDATA)>

<!ELEMENT comment (#PCDATA)>
<!ELEMENT customeragreementidentifier (#PCDATA)>

<!ELEMENT customerreferencenumber (#PCDATA)>
<!ELEMENT usecreditorreferencenumber (#PCDATA)>
<!ELEMENT useorderreferencenumber (#PCDATA)>
<!ELEMENT directdebitbankaccount (#PCDATA)>
<!ELEMENT invoicinglanguage (#PCDATA)>
<!ATTLIST invoicinglanguage type CDATA "ISO-3166">
<!ELEMENT invoiceprintchannelformat (#PCDATA)>
<!ATTLIST invoiceprintchannelformat type (netvisor) #REQUIRED>
<!ELEMENT yourdefaultreference (#PCDATA)>
<!ELEMENT defaulttextbeforeinvoicelines (#PCDATA)>
<!ELEMENT defaulttextafterinvoicelines (#PCDATA)>
<!ELEMENT defaultpaymentterm (#PCDATA)>
<!ATTLIST defaultpaymentterm type (netvisor|customer) #REQUIRED>
<!ELEMENT defaultsecondname (#PCDATA)>
<!ATTLIST defaultsecondname type (netvisor|customer) #REQUIRED>
<!ELEMENT paymentinterest (#PCDATA)>
<!ELEMENT balancelimit (#PCDATA)>
<!ELEMENT receivablesmanagementautomationrule (#PCDATA)>
<!ATTLIST receivablesmanagementautomationrule type (netvisor|customer) #REQUIRED>
<!ELEMENT factoringaccount (#PCDATA)>
<!ATTLIST factoringaccount type (netvisor|customer) #REQUIRED>
<!ELEMENT taxhandlingtype (#PCDATA)>
<!ELEMENT eustandardfinvoice (#PCDATA)>
<!ELEMENT denyinvoicecollection (#PCDATA)>
<!ELEMENT denydelivery (#PCDATA)>
<!ELEMENT salespersonid (#PCDATA)>
<!ATTLIST salespersonid type (netvisor) #REQUIRED>
<!ELEMENT dimension (dimensionname, dimensionitem?, dimensionitemcode?, dimensionitemname?)>
<!ELEMENT dimensionname (#PCDATA)>
<!ELEMENT dimensionitem (#PCDATA)>
<!ATTLIST dimensionitem fatherid CDATA #IMPLIED>
<!ELEMENT dimensionitemcode (#PCDATA)>
<!ELEMENT dimensionitemname (#PCDATA)>
