Xml - Sales invoice with payment
*elements marked with this sign are mandatory
<root>
<docs>
<doc>
<crtno />* - if xml contains more than one document this element is mandatory. Each document must have a unique value in this field.
<!--identify company-->
<companyunitcode /> * - company unit code defined in ERP.
<companydivisioncode /> * - company division code defined in ERP.
<!--document specific info-->
<docid /> - document is a mandatory field. It can be determined from one of these elements: docid , doccode or docname. At least one of this elements must have value. DocId values: 5 = internal invoice, 6 = external invoice
<doccode />
<docname />
<doctype /> - document type – from list defined in ERP under the document identified from previous elements
<docdate /> * - document date
<docoriginaldate /> - document original date – for invoices with date in a closed period in what concerns reporting
<docreportingdate /> - for companies wich use 2 reportings : one for state reporting and one for reporting to group
<docnumber /> * - document number
<grnnumber /> - Goods Received Note number
<grndate /> - Goods Received Note date
<duedate /> - due date
<determineduedate /> - used if duedate field has no value. If value is 1 due date is determined based on number of days configured in commercial policy of customer.
<explanations />
<explanations2 />
<docexternalimportid /> - identification number from another system
<docexternalimportidcheckisunique /> - if value is 1, an error is returned if exists another document with this external id.
<!--document context info-->
<dociscancelled /> - document is marked as canceled
<iscustomerreturn /> - set value to 1 if is customer return
<companyvatuponcollection /> - set value to 1 if company is registered for VAT upon collection
<companyvatuponcollectionfromconfig /> - if value is 1, the element companyvatuponcollection is decided based on fiscal configuration found in ERP (on company)
<accountingregistercode /> - found in Accounting register list. The accounting register is mandatory. It can be obtained from following elements: accountingregistercode , accountingregistername , doctype (if document type has accounting register configured). At least one of the mentioned elements must have value.
<accountingregistername />
<reversechargecategory /> - from list defined in ERP
<unregisteredforvatcategory /> - from list defined in ERP
<specialregimecategory /> - from list defined in ERP
<partner>
<!--identify partner-->
<partnerid /> - id of partner in ERP. Partner is a madatory field. It can be determined from one of following elements: partnerid , partnervatnumber , partnername. At least one of this elements must have value.
<partnervatnumber /> - partner vat number
<partnername /> - partner name
<!--info insert/update partner-->
<partnerinsert /> - if value is 1 and partner was not identified based on criteria fields, it will be inserted in ERP. If value is 0 and partner was not identified an error will be returned.
<partnerupdateinfo /> - if value is 1 and partner was identified, next attributes will be updated, if elements exists in xml.
<partnervatnumberprefix />
<partnertype /> - values accepted: PF or PS . specify if partner is registred. PF = person, PJ = company/legal organization
<partnertraderegisternumber /> - number of registration in Trade Register
<partneraddress>
<partnercountrycode /> - country code (2 characters)
<partnercountycode /> - county code (2 characters)
<partnercountyname /> - county name
<partnerinsertcounty /> - if value is 1 and county is not found in ERP list, it will be inserted. If value is 0 and element partnercountyname has value and county is not found an error will be returned.
<partnerlocalityname /> - from list defined in ERP
<partnerinsertlocality /> - if value is 1 and locality is not found in ERP list, it will be inserted. If value is 0 and element partnerlocalityname has value and locality is not found an error will be returned.
<partnerstreet />
<partnerstreetnumber />
<partnerpostalcode /> - partner postal code
</partneraddress >
<!--partner bank account-->
<partnerbank>
<partnerbankaccount /> - bank account
<partnerbankname /> - bank name
<partneraccountcurrency /> - bank account currency
<partnerbankaccountisdefault /> - if value is 1, this account is configured in ERP as default account of partner
</partnerbank >
<!--partner contact-->
<partnercontact>
<partnercontactinsert /> - if value is 1 and partner contact is not identified based on fields partnercontactsurname and partnercontactfirstname it will be inserted.
<partnercontactupdateinfo />- if value is 1 and partner contact is identified next attributes will be updated.
<partnercontactsurname />
<partnercontactfirstname />
<partnercontactemail />
<partnercontactemail2 />
<partnercontactphonenumber />
<partnercontactphonenumber2 />
<partnercontactaddress />
<partnercontactobservations />
<partnercontactcountrycode /> - country code (2 characters)
<partnercontactcountycode /> - county code (2 characters)
<partnercontactcountyname /> - from list defined in ERP
<partnercontactinsertcounty /> - if value is 1 and county is not found in ERP list, it will be inserted. If value is 0 and element partnercontactcountyname has value and county is not found an error will be returned.
<partnercontactlocalityname /> - from list defined in ERP
<partnercontactinsertlocality /> - if value is 1 and locality is not found in ERP list, it will be inserted. If value is 0 and element partnercontactlocalityname has value and locality is not found an error will be returned.
<partnercontacttitle />
<partnercontactposition />
<partnercontactcode />
<partnercontactisdefault /> - if value is 1, this contact is configured in ERP as default contact of partner.
</partnercontact >
</partner >
<!--transaction details-->
<records>
<record>
<customeraccount /> - account of customer
<revenueaccount /> - revenue account
<transactiontype /> - values accepted: P or S . content of transaction: product (P), service (S)
<valuewithoutvat />
<vatvalue />
<vatpercent />
<valueincurrency /> - for foreign currencies
<currencycode /> - currency code must match one of the values listed in ERP - for foreign currencies
<exchangerate /> - exchange rate - for foreign currencies
<discountaccount /> - account for discounts granted
<discountvalue /> - discount value granted
<discountvalueincurrency /> - discount value in currency granted - for foreign currencies
<accountingmode /> * - from list defined in ERP
<recordexplanations />
<!--transaction dimensions-->
<businesslinecode /> - from list defined in ERP
<businesslinename /> - from list defined in ERP
<costcentercode /> - from list defined in ERP
<costcentername /> - from list defined in ERP
<budgetitemname /> - from list defined in ERP
<budgetitemcode /> - from list defined in ERP
<asset /> - from list of assets in ERP
<assetcode /> - from list of assets in ERP
<project /> - from list of projects in ERP
<taskid/> - from list of tasks in ERP
<nccode/> - from list of NC codes defined in ERP
<doctypeconfig/> - document type wich serves as configuration for determining the accounts and accounting modes to use for this position – from list defined in ERP under the document identified from previous elements
</record >
</records >
<!--payment details-->
<payments>
<payment>
<paymentdocid /> - if payment document is identified (based on paymentdocid or paymentdoccode) and following fileds (paymentdate , paymentnumber , paymentvalue) have value a payment accounting note will be inserted.
<paymentdoccode />
<paymentaccount />
<paymentnumber />
<paymentdate />
<paymentexplanations />
<paymentexplanations2 />
<paymentvalue />
<paymentmode /> - from list defined in ERP
</payment >
</payments >
</doc>
</docs>
</root>