SalesInvoiceGet | Get sales invoice by document number, or by combination of document number and date. |
SalesInvoiceGetPDF | Get PDF for sales invoice by document number, or by combination of document number and date. |
SalesInvoiceGetPublicURL | Get public URL that can be used to view and print the document using web or mobile browser. The URL can be sent to the client instead of PDF attachment. |
SalesInvoiceCreate | Create new sales invoice. |
SalesInvoiceImport | Import sales invoice issued in other IS. |
SalesInvoiceUpdate | Update existing Sales invoice. |
SalesInvoiceDelete | Delete sales invoice. |
SalesInvoiceCancel | Cancel sales invoice. |
SalesInvoiceList | Get list of sales invoices for specified criteria |
SalesInvoiceSendByEmail | Sends document by email to the recipient(s). |
SalesInvoicePaymentRecordAdd | Add payment record on sales invoice. |
SalesInvoiceInstallmentsCreate | Add installments to sales invoice. |
SalesInvoiceAttachmentAdd | Add attachment to sales invoice. |
SalesInvoiceAttachmentSetDefault | Add attachment to sales invoice and set is as default. |
SalesInvoiceAttachmentGet | Get default attachment of sales invoice. |
SalesInvoiceAttachmentList | Get all attachments of sales invoice. |
Get sales invoice by document number, or by combination of document number and date. User can select xml format which is used for constructing response file. By default, internal format is used. Please see external documentation for eSLOG format.
Parameters
number | Document number. Can use sequential document number (example: 2), or formated number (example: 2016-00002) |
date | Document date |
costPosition | Cost centre code |
businessUnit | Business unit |
Example request and response
(Internal "XML" format)
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceGet">
<parameter name="number" value="12/2009" />
<parameter name="date" type="Date" value="2009-12-15" />
</method>
</request>
Response
HTTP/1.1 200 OK
Server: e-racuni.com web server
Date: Tue, 1 March 2016 11:00:05 GMT
Content-Type: text/xml
Content-Length: 328
<?xml version="1.0" encoding="utf-8"?>
<response status="ok">
<SalesInvoice>
<businessYear>2016</businessYear>
<buyerCode>123456</buyerCode> <!-- (Optional). If buyer code is specified, other buyer parameters bellow are not needed as the buyer data is taken from database. If any additional parameter is specified, it will override master buyer data in document
<buyerCity>RADOVLJICA</buyerCity>
<buyerCountry>CZ</buyerCountry>
<buyerName>5 FIVER s.r.o.</buyerName>
<buyerPostalCode>12000</buyerPostalCode>
<buyerStreet>ULICA 22</buyerStreet>
<buyerTaxNumber>75882442</buyerTaxNumber>
<buyerVatRegistration>None</buyerVatRegistration>
<city>Brno</city>
<costPosition>1</costPosition>
<cashRegisterCode>0001</cashRegisterCode> <!-- This property must be set for fiscalization
<businessUnit>0001</businessUnit> <!-- This property must be set for fiscalization
<vatBook>123</vatBook>
<advanceInvoicesRef>2014-00001, 2014-00002, 2014-00003</advanceInvoicesRef> <!-- references to advance invoices
<salesQuoteRef>2014-00001</salesQuoteRef> <!-- reference to sales quote
<salesOrdersRef>2014-00001, 2014-00002</salesOrdersRef> <!-- references to sales orders
<deliveryNotesRef>2014-00004, 2014-00005, 2014-00006</deliveryNotesRef> <!-- references to delivery notes
<creditNotesRef>2014-00004</creditNotesRef> <!-- references to credit
<cancelledDocumentRef>2016-00015</cancelledDocumentRef> <-- Reference to cancelled document
<date>2016-02-19</date>
<dateOfSupplyFrom>2016-02-19</dateOfSupplyFrom>
<paymentDueDate>2016-03-06</paymentDueDate>
<invoicePricingType>retail</invoicePricingType>
<isReccurringInvoice>0</isReccurringInvoice>
<number>2016-00002</number> <!-- document number optional AUTO numbering
<vatTransactionType>0</vatTransactionType>
<vatOutgoingDocumentVatClause>Registered</vatOutgoingDocumentVatClause>
<status>issuedInvoice</status>
<totalAmount>90.00</totalAmount>
<amountAlreadyPaid>50.00</amountAlreadyPaid>
<amountLeftToBePaid>40.00</amountLeftToBePaid>
<totalAmount>289.860</totalAmount>
<totalCurrency>CZK</totalCurrency>
<totalDiscount>0.0</totalDiscount>
<totalNetAmount>243.00</totalNetAmount>
<totalVatAmountFlatRate>0.00</totalVatAmountFlatRate>
<totalVatAmountNormalRate>44.00</totalVatAmountNormalRate>
<totalVatAmountLowerRate>1.99</totalVatAmountLowerRate>
<totalVatAmountZeroRate>0.0</totalVatAmountZeroRate>
<totalVatBaseAmountFlatRate>0.00</totalVatBaseAmountFlatRate>
<totalVatBaseAmountNormalRate>200.00</totalVatBaseAmountNormalRate>
<totalVatBaseAmountLowerRate>20.00</totalVatBaseAmountLowerRate>
<totalVatBaseAmountZeroRate>23.00</totalVatBaseAmountZeroRate>
<methodOfPayment>bankTransfer</methodOfPayment>
<reference>05 11290</reference> <!-- generated unique payment identifier - VS(variabilni symbol)
<fik>34facd65-622b-745d-a541-30ab1f9d3ac1</fik> <!-- generated by financial authority
<bkp>a7e5f55e1dbb48b799268e1a6d8618a3</bkp> <!-- generated when issuing document if it is for fiscalization
<docNo>0123-5b/B-q/5:22-250</docNo> <!-- fiscal sequential number for fiscal numbering of document
<registrationTS>2018-03-06 16:25:24</registrationTS>
<warning>Warning text when not fiscalized</warning>
<introductionText>introduction text</introductionText>
<vatCountryIsoCode>HR</vatCountryIsoCode>
<warehouseCode>00001</warehouseCode>
<Address>
<city>Celje</city>
<country>CZ</country>
<postalCode>1200</postalCode>
<street>Ulica 10</street>
<type>Delivery</type>
</Address>
<Items>
<Item>
<amount>23.00</amount>
<amountWithoutDiscount>23.00</amountWithoutDiscount>
<currency>EUR</currency>
<description>dfhf</description>
<discountAmount>0.0</discountAmount>
<discountPercentage>0.0000</discountPercentage>
<netPrice>18.85246</netPrice>
<netPriceInDocumentCurrency>23.00000</netPriceInDocumentCurrency>
<position>3</position>
<price>23.00000</price>
<priceInDocumentCurrency>23.00000</priceInDocumentCurrency>
<quantity>1.000000</quantity>
<totalDiscountPercentage>0.0000</totalDiscountPercentage>
<vatAmount>0.00</vatAmount>
<vatPercentage>0.0</vatPercentage>
<vatTransactionType>7</vatTransactionType>
<transNoCoefCalcSN>0</transNoCoefCalcSN>
<kontrolHlasSectionType>1</transNoCoefCalcSN>
<costPosition>1</costPosition>
<chartAccountNumber>76000</chartAccountNumber>
</Item>
<Item>
<amount>20.87</amount>
<amountWithoutDiscount>20.87</amountWithoutDiscount>
<currency>BOB</currency>
<description>asdgdas</description>
<discountAmount>0.0</discountAmount>
<discountPercentage>0.0000</discountPercentage>
<netPrice>195.43379</netPrice>
<netPriceInDocumentCurrency>20.87277</netPriceInDocumentCurrency>
<position>2</position>
<price>214.00000</price>
<priceInDocumentCurrency>22.85568</priceInDocumentCurrency>
<quantity>1.000000</quantity>
<totalDiscountPercentage>0.0000</totalDiscountPercentage>
<vatAmount>1.99</vatAmount>
<vatPercentage>9.5</vatPercentage>
<costPosition>1</costPosition>
<chartAccountNumber>76000</chartAccountNumber>
</Item>
<Item>
<amount>200.00</amount>
<amountWithoutDiscount>200.00</amountWithoutDiscount>
<articleCode>0155-ART</articleCode>
<articleName>testni art</articleName>
<currency>EUR</currency>
<description></description>
<discountAmount>0.0</discountAmount>
<discountPercentage>0.0000</discountPercentage>
<netPrice>100.00000</netPrice>
<netPriceInDocumentCurrency>100.00000</netPriceInDocumentCurrency>
<position>1</position>
<price>122.00000</price>
<priceInDocumentCurrency>122.00000</priceInDocumentCurrency>
<productCode>0155-ART</productCode>
<productName>testni art</productName>
<quantity>2.000000</quantity>
<totalDiscountPercentage>0.0000</totalDiscountPercentage>
<vatAmount>44.00</vatAmount>
<vatPercentage>22.0</vatPercentage>
<vatTransactionType>7</vatTransactionType>
<transNoCoefCalcSN>0</transNoCoefCalcSN>
<kontrolHlasSectionType>2</transNoCoefCalcSN>
<kontrolHlasTransCode>10</kontrolHlasTransCode>
<costPosition>1</costPosition>
<chartAccountNumber>76000</chartAccountNumber>
</Item>
</Items>
<PaymentRecords>
<PaymentRecord>
<paymentAmount>20.000</paymentAmount>
<paymentCurrency>EUR</paymentCurrency>
<paymentDate>2016-03-09</paymentDate>
<paymentEntryTS>2016-03-09 15:36:33</paymentEntryTS>
<paymentMethodForInvoice>BankPaymentOrder</paymentMethodForInvoice>
</PaymentRecord>
</PaymentRecords>
<SalesInvoiceInstallments>
<Installment>
<installmentAmount>200.000</installmentAmount>
<installmentDate>2016-03-09</installmentDate>
<position>1</position>
</Installment>
<Installment>
<installmentAmount>89.000</installmentAmount>
<installmentDate>2016-03-23</installmentDate>
<position>2</position>
</Installment>
</SalesInvoiceInstallments>
</SalesInvoice>
</response>
Response (on error)
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="document could not be found"><error/>
</response>
Get PDF for sales invoice by document number, or by combination of document number and date. User can also mark document as sent if the correct parameter is used. Response (on OK) returns binary record for PDF file coded with Base64 coding.
Parameters
number | Document number. Can use sequential document number (example: 2), or formated number (example: 2016-00002) |
date | Document date |
costPosition | Cost centre code |
businessUnit | Business unit |
vatBook | Vat book |
markDocumentAsSent | Marks document as sent. |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceGetPDF">
<parameter name="number" value="12/2009" />
<parameter name="date" type="Date" value="2009-12-15" />
<parameter name="markDocumentAsSent" />
</method>
</request>
Response
<response status="ok">
<number>2012-01293</number>
<date>2013-01-02</date>
<pdfFile>JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nJVYS4/bNh...</pdfFile>
</response>
Response (on error)
<response status="error">
<error description="Can not find sales invoice for number: 2013-01293 and date: 2013-01-02">
</error>
</response>
Get URL link for accessing the document via web or mobile browser. This link can be sent to the customer instead of PDF attachment. Upon clicking the link a document viewer for the invoice will be opened with option for downloading the PDF invoice.
Parameters
number | Document number. Can use sequential document number (example: 2), or formatted number (example: 2016-00002) |
date | Document date |
costPosition | Cost position |
businessUnit | Business unit |
markDocumentAsSent | Document will be marked as sent |
linkExpirationDate | Optional, set link expiration date |
Example request and response
POST /WebServicesSI/API HTTP/1.1
Host: e-racuni.com
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceGetPublicURL">
<parameter name="number" value="12/2009" />
<parameter name="date" type="Date" value="2009-12-15" />
<parameter name="markDocumentAsSent" />
<parameter name="linkExpirationDate" value="2020-12-31" />
</method>
</request>
Response
<response status="ok">
<number>2012-01293</number>
<date>2013-01-02</date>
<publicURL>https://eurofaktura.cz/rcz/SO-CZ400ACXzO8oZZl61A0671827C47C0D00AB63B8DD00CFF06F</publicURL>
</response>
Response (on error)
<response status="error">
<error description="Cannot find sales invoice for number: 2013-01293 and date: 2013-01-02">
</error>
</response>
Create new sales invoice.
Document item can be specified with: productCode, quantity, discountPercentage, or can be specified with: description, currency, quantity, price (retail price including VAT for Retail document) or netPrice (gross price without VAT for Gross document). Default document type is Gross. Additional optional item fields are: discountPercentage, unit, vatPercentage, vatTransactionType, transNoCoefCalcSN, kontrolHlasSectionType and kontrolHlasTransCode.
Supported values for vatTransactionType are:
0 - Taxable transactions of goods and services in Czechia //Dodání zboží/poskytnutí služby v tuzemsku
1 - Zero-rated transaction - supply of goods within the EU //Dodání zboží do jiného členského státu EU
2 - Zero-rated transaction - supply of goods within the EU(fixed assets) //Dodání zboží do jiného členského státu EU - převod majetku
3 - Zero-rated transaction - supply of service in the EU //Poskytnutí služeb v jiném členském státě EU
4 - Zero-rated transaction - exports of goods outside the EU //Vývoz zboží mimo EU
5 - Zero-rated transaction - new vehicle delivery to person not registred for VAT within the EU //Dodání nového doprav. prostředku do jiného člen. státu EU nereg. osobě
20 - Zero-rated transaction - goods delivery within EU (over limit) - foreign VAT calculated //Zasílání zboží do jiného člen. státu EU nad registrační limit (cizí DPH)
7 - Zero-rated transaction - reverse charge (goods supply/assembly the service) //Režim přenesení daňové povinnosti (tuzemsko)
8 - Zero-rated transaction - other taxable transaction with claim of VAT deduction //Ostatní uskutečněná osvobozená plnění s nárokem na odpočet daně
10 - Zero-rated transaction - tripartite supplies of goods within the EU //Dodání zboží formou třístranného obchodu prostřední osobou
11 - Tax amount correction in insolvency proceedings (creditor) //Oprava daně v insolvenčním řízení (věřitel)
12 - VAT exempt transactions without the right of input VAT deduction //Plnění osvobozená od daně bez nároku na odpočet daně
15 - Transactions exempt from VAT - not for VAT records //Nezahrnovat do přiznání DPH
21 - Zero-rated transaction - assembly in the EU //Poskytnutí služeb v EU (cizí DPH) - vyněto z DPH přiznání
100 - Electronic services in other EU member countries (foreign VAT calculated) //Poskytnutí el. služeb v jiném členském státě EU (cizí DPH)
106 - Distance sales of goods to EU consumers (OSS) //Prodej zboží na dálku koncovým zákazníkům v EU (OSS)
107 - Supply of services to EU consumers (OSS) //Poskytnutí služeb koncovým zákazníkům v EU (OSS)
108 - Distance sales of imported goods to EU consumers (IOSS) //Prodej zboží na dálku ze třetích zemí koncovým zákazníkům v EU (IOSS)
109 - Distance sales of goods to domestic consumers (OSS)//Prodej zboží na dálku koncovým zákazníkům v tuzemsku (OSS)
110 - Distance sales of imported goods to domestic consumers (IOSS) //Prodej importovaného zboží ze třetích zemí koncovým zákazníkům v tuzemsku (IOSS)
120 - Supply of services from EU to third country consumers (foreign VAT) //Poskytnutí služeb z EU koncovému spotřebiteli mimo EU (cizí DPH)
Before using vat transaction types for OSS and IOSS, you must set up registration for OSS and IOSS in company settings under foreign VAT registrations. |
Status of invoice which is created from this web service is automatically set to "issuedInvoice" if parameter number is specified in parameter list, or if it's status is explicitelly set to issuedInvoice. For such cases (if invoice is created as issued), service will automatically generate delivery note for contained products to reduce their quantity on stock.
Supported values for transNoCoefCalcSN are "1 or 0" and stated if transaction is not included to the coefficient calculation.
Supported values for kontrolHlasSectionType are:
1 - Transaction has no impact on control report sections,
2 - Section A1,
3 - Section A3,
4 - Section A4 (regular),
5 - Section A4 (travel services),
6 - Section A4 (used goods),
7 - Section A4/A5 automatic choose (based on amount and EuVAT ID on document),
8 - Section A5
Supported values for kontrolHlasTransCode are:
2 - 1
3 - 1a
4 - 3
5 - 3a
6 - 4
7 - 4a
8 - 5
9 - 6
10 - 7
11 - 11
12 - 12
13 - 13
14 - 14
15 - 15
16 - 16
17 - 17
18 - 18
19 - 19
20 - 20
21 - 21
Parameters
SalesInvoice | Complex parameter with data tags |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceCreate">
<parameter name="SalesInvoice">
<date>2016-01-13</date> <!-- document date
<dateOfSupplyFrom>2016-02-19</dateOfSupplyFrom>
<paymentDueDate>2016-03-06</paymentDueDate>
<city>Beograd</city>
<customerContactPerson></customerContactPerson> <!-- (Optional)
<type>retail</type> <!-- (Optional) Type of pricing - default is "gross"
<status>issuedInvoice</status> <!-- (Optional) Possible values: issuedInvoice, draft - default is issuedInvoice
<isReccurringInvoice>false</isReccurringInvoice>
<vatTransactionType>0</vatTransactionType> <!-- (Optional) default is 0
<vatOutgoingDocumentVatClause>Registered</vatOutgoingDocumentVatClause> <!-- (Optional) Possible values: Registered, NotRegistered,RegisteredForEUSuppliesOnly
<costPosition>120</costPosition> <!-- (Optional) Cost centre code
<cashRegisterCode>0001</cashRegisterCode> <!-- Mandatory for fiscalization
<businessUnit>0001</businessUnit> <!-- Mandatory for fiscalization
<deliveryMethod>Delivery method</deliveryMethod> <!-- (Optional)
<superDiscountPercentage>5</superDiscountPercentage> <!-- (Optional)
<remarks>Remark on Sales invoice</remarks> <!-- (Optional)
<introductionText>introduction text</introductionText> <!-- (Optional)
<buyerCode>123456</buyerCode> <!-- (Optional). If it is specified buyer parameters bellow are not needed as the buyer data is taken from database. If any parameter bellow is sepcified it will override master buyer data in document
<buyerDocumentID>60:123456</buyerDocumentID> <!-- (Optional). If it is specified buyer parameters bellow are not needed as the buyer data is taken from database. If any parameter bellow is sepcified it will override master buyer data in document
<buyerName>Micka Kovac</buyerName>
<buyerTaxNumber>02169711</buyerTaxNumber> <!-- (Optional)
<buyerVatRegistration>None</buyerVatRegistration> <!-- (Unkown, None, Registered)
<buyerEMail>micka@kovac.com</buyerEMail> <!-- (Optional)
<buyerPhone>720123456798</buyerPhone> <!-- (Optional)
<buyerStreet>Iztokova 22</buyerStreet> <!-- (Optional)
<buyerPostalCode>60200</buyerPostalCode> <!-- (Optional)
<buyerCity>Brno</buyerCity> <!-- (Optional)
<buyerCountry>CZ</buyerCountry> <!-- (Optional) ISO-2 country code
<methodOfPayment>bankTransfer</methodOfPayment> <!-- Possible ways of payment: unknown, bankTransfer, cash, cheques, cashOnDelivery, payPal, directDebit
<receivablesAccountNumber>1200</receivablesAccountNumber> <!-- (Optional) specify general ledger receivables account number for this sales invoice if the default account should not be used
<documentLanguage>Czech</documentLanguage> <!-- (Optional) Possible document language: Czech, English, German, Italian and Croatian
<printingTemplate>Predloga2</printingTemplate> <!-- (Optional) Setting printing template for document, posible values is code of uploaded templates in web app
<advanceInvoiceRef>2014-00001</advanceInvoiceRef> <!-- (Optional) Setting reference to advance invoice
<salesQuoteRef>2014-00001</salesQuoteRef> <!-- (Optional) Setting reference to sales quote
<salesOrderRef>2014-00001</salesOrderRef> <!-- (Optional) Setting reference to sales
<vatCountryIsoCode>HR</vatCountryIsoCode> <!-- Mandatory if using vatTransactionTypes: 20, 21 and 100 and it determines that VAT procentages for specified country has to be taken
<warehouseCode>00001</warehouseCode> <!-- Mandatory, if not set in XML default warehouse is set
<Address> <!-- (Optional) Setting delivery address on document and partner buyer if it doesn't exists
<city>Celje</city>
<country>SI</country>
<postalCode>3000</postalCode>
<street>Ulica 10</street>
<type>Delivery</type>
</Address>
<Items>
<Item> <!-- item specified with ref to product
<position>1</position> <!-- position of item
<productCode>020</productCode> <!-- product code
<quantity>100</quantity>
<discountPercentage>10</discountPercentage>
<costPosition>1</costPosition>
<chartAccountNumber>76000</chartAccountNumber> <!-- (Optional) general ledger account number for seperate posting of item amount
<vatTransactionType>0</vatTransactionType> <!-- (Optional) default is 0.
</Item>
<Item> <!-- Item specified for good or service
<position>2</position> <!-- position of item
<description>Transport of goods</description>
<price>11.00</price>
<discountPercentage>2</discountPercentage> <!-- (Optional)
<vatPercentage>10</vatPercentage> <!-- (Optional)
<currency>EUR</currency> <!-- (Optional)
<quantity>10</quantity> <!-- (Optional) default 0
<unit>km</unit> <!-- (Optional)
<costPosition>1</costPosition>
<vatTransactionType>0</vatTransactionType> <!-- (Optional) default is
<transNoCoefCalcSN>0</transNoCoefCalcSN>
<kontrolHlasSectionType>2</transNoCoefCalcSN> <!-- Section for Control report is A1
<kontrolHlasTransCode>10</kontrolHlasTransCode> <!-- Transaction code of Control report is 7 (Dodání zboží po postoupení výhrady vlastnictví)
</Item>
...
</Items>
</parameter>
</method>
</request>
Response
HTTP/1.1 200 OK
Server: e-racuni.com web server
Date: Tue, 1 March 2016 11:00:05 GMT
Content-Type: text/xml
Content-Length: 328
<?xml version="1.0" encoding="utf-8"?>
response status="ok" >
<number>12/2009</number> <!-- created document ID or number
<date>2016-01-13</date> <!-- date of document
</response>
Response (on error)
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description=""><error/> <!-- missing mandatory attributes, invalid values, no privileges, …
</response>
Import Sales invoice issued in other IS. Parameter 'importType' can be used to specify type of import. If parameter is not specified, "createOrUpdate" is used as default. For updating sales invoices with this api call, sales invoices's data must contain code as unique identifier.
Parameters
importType | Flag for the type of import
|
SalesInvoice | Sales invoice data in xml substructure. |
dataFormat | In case some other data format is used for import, this parameter should be used. If this parameter is not included in XML, import from default data format is used.
|
base64data | This parameter is mandatory in case using dataFormat "POHODA". Content of this parameter should be Pohoda XML encoded into base64 string. |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceImport">
<parameter name="importType" value="createOrUpdate" />
<parameter name="SalesInvoice">
<!-- structure of elements is the same as in SalesInvoiceCreate only tag <number> is mandatory here
<parameter/>
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
<number>0001-1206-2014</number>
<date>2013-06-12</date>
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="Property <number> is required."><error/> <!-- missing number …
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="Sales invoice for number: 0001-1206-2013 already exists!"></error> <!-- Sales Invoice for number already exists …
</response>
(Using POHODA data format)
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceImport">
<parameter name="importType" value="createOrUpdate" />
<parameter name="dataFormat" value="POHODA" />
<parameter name="base64data">JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURlY29kZT4+Cn...
<!-- Pohoda XML encoded into base64 string
<parameter/>
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
<number>0001-1206-2014</number>
<date>2021-06-12</date>
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="Parameter <base64data>: cannot parse contents"></error> <!-- Error when decoding XML from base64 string
</response>
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="Error parsing XML file due to invalid syntax"></error> <!-- Error when parsing XML
</response>
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="Document can not be overwritten because it is already posted."></error> <!-- There are several different error messages possible.
</response>
Update existing Sales invoice.Data must contain sales invoice number to be able to identify document which is to be updated.
Parameters
SalesInvoice | Complex parameter with data tags |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceUpdate">
<parameter name="SalesInvoice">
<number>12</number> <!-- document number is mandatory in UPDATE (Can use sequential document number (example: 12), or formatted number (example: 12/2011))
<!-- Parameters are identical to the parameters in SalesInvoiceCreate api
</parameter>
</method>
</request>
Response
HTTP/1.1 200 OK
Server: e-racuni.com web server
Date: Tue, 1 March 2016 11:00:05 GMT
Content-Type: text/xml
Content-Length: 328
<?xml version="1.0" encoding="utf-8"?>
response status="ok" >
<number>12/2009</number> <!-- created document ID or number
<date>2016-01-13</date> <!-- date of document
</response>
Response (on error)
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description=""><error/> <!-- missing mandatory attributes, invalid values, no privileges, …
</response>
Delete sales order. Must specify parameter/s (number, number+date) to identify document for deleting. It is possible to delete only last issued invoice.
Parameters
number | Document number |
date | Document date |
costPosition | Cost centre code |
businessUnit | Business unit |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceDelete">
<parameter name="number" value="12/2009" />
<parameter name="date" type="Date" value="2016-01-13" />
</method>
</request>
Response
HTTP/1.1 200 OK
Server: e-racuni.com web server
Date: Tue, 1 March 2016 11:00:05 GMT
Content-Type: text/xml
Content-Length: 328
<?xml version="1.0" encoding="utf-8"?>
<response status="ok">
</response>
Response (on error)
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="no privileges"><error/> <!-- document could not be found, no privileges, …
</response>
Cancel sales invoice. Must specify parameter/s (number, number+date) to identify document for canceling.
Parameters
number | Document number |
date | Document date |
costPosition | Cost centre code |
businessUnit | Business unit |
vatBook | Vat book |
status | Status of cancelation document (draft, issuedInvoice). By Default status is issuedInvoice. |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceCancel">
<parameter name="number" value="2013-00014" />
<parameter name="date" type="Date" value="2013-03-26" />
<parameter name="status" value="draft" />
</method>
</request>
Response
HTTP/1.1 200 OK
Server: e-racuni.com web server
Date: Tue, 1 March 2016 11:00:05 GMT
Content-Type: text/xml
Content-Length: 328
<?xml version="1.0" encoding="utf-8"?>
<response status="ok">
</response>
Response (on error)
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="Access denied. User account does not have sufficient privileges for the given request"><error/> <!-- document could not be found, no privileges, …
</response>
Response (on error)
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="Can not cancel sales invoice for arguments number: 2013-00014 date: 2013-03-26"><error/> <!-- document could not be canceled, …
</response>
Possible error messages:
Access denied. User account does not have sufficient privileges for the given request
Parameter named "number" is required
Can not find sales invoice for number
Can not cancel. Found X sales invoices
Found X sales invoices X. You can only cancel one sales invoice at a time
Can not cancel sales invoice X
Get list of sales invoices for criteria which is specified by API parameters. Mixing different types of dates in search criteria is not supported - date parameters can be combined only as follows: dateFrom/dateTo, paymentDueDate/paymentDueDate or dateOfSupplyFrom/dateOfSupplyUntil.
Parameters
number | Document number |
dateFrom | The date which is used to select sales invoices whose date is following it |
dateTo | The date which is used to select sales invoices whose date is preceding it |
paymentDueDateFrom | The date which is used to select sales invoices whose date of expiration is following it |
paymentDueDateTo | The date which is used to select sales invoices whose date of expiration is preceding it |
dateOfSupplyFrom | The date which is used to select sales invoices whose date of supply/performance is following it |
dateOfSupplyUntil | The date which is used to select sales invoices whose date of supply/performance is preceding it |
deliveryAddress | Delivery address of the buyer |
buyer | Buyer code, or buyer name |
costPosition | Cost centre code |
totalAmount | Total amount of the sales invoice |
totalCurrency | Currency used in sales invoice |
article | Product code, or product name |
status | Possible values:
|
issuer | Issuer of document, search is done by username |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceList">
<parameter name="status" value="issuedInvoice" />
<parameter name="dateFrom" type="Date" value="2016-02-19" />
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
<SalesInvoices>
<SalesInvoice>
<!-- structure of elements is the same as in SalesInvoiceGet
</SalesInvoice>
...
</SalesInvoices>
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description=""><error/> <!-- no privileges, …
</response>
Sends document by email to the recipient(s).
Parameters
number | Document number |
date | Document date (optional additional document identification) |
sender | Email sender (Optional) |
recipient | Comma delimited list of recipient(s) emails |
cc | CC email (Optional) |
bcc | BCC email (Optional) |
subject | Mail subject (Optional) |
message | Message text (Optional) |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceSendByEmail">
<parameter name="number" value="12/2009" />
<parameter name="date" type="Date" value="2016-01-13" />
<parameter name="sender" value="micka@kovac.com"/>
<parameter name="recipient" value="zoran@kovac.com,zlatko@kovac.com"/>
<parameter name="cc" value=""/>
<parameter name="bcc" value=""/>
<parameter name="subject" value="TEST d.o.o.: Sales invoice nr. 0002/2016"/>
<parameter name="message" value="Message text"/>
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="no privileges"><error/> <!-- document could not be found, no privileges, mail sending failed…
</response>
Add payment record on sales invoice.
Parameters
number | Document number |
date | Document date (optional additional document identification) |
costPosition | Cost centre code |
businessUnit | Business unit |
vatBook | Vat book |
paymentDate | Payment date |
paymentAmount | Payment amount |
paymentMethodForInvoice | Payment method for sales invoice
|
paymentRemark | Payment remark (optional) |
paymentCurrency | Payment currency (optional) |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoicePaymentRecordAdd">
<parameter name="number" value="2014-00013"/>
<parameter name="date" type="Date" value="2014-05-15"/>
<parameter name="paymentDate" type="Date" value="2014-05-20"/>
<parameter name="paymentAmoutn" value="50"/>
<parameter name="paymentMethodForInvoice" value="Cash"/>
<parameter name="paymentRemark" value="PAyment record on sales invoice 2014-05-15"/>
<parameter name="paymentCurrency" value="EUR"/>
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="Payment method Test is not supported"><error/> <!-- wrong payment method chosen
</response>
Add installments on sales invoice.
Parameters
number | Document number |
date | Document date (optional additional document identification) |
costPosition | Cost centre code |
businessUnit | Business unit |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceInstallmentsCreate">
<parameter name="number" value="2014-00013"/>
<parameter name="date" type="Date" value="2014-05-15"/>
<parameter name="SalesInvoiceInstallments">
<SalesInvoiceInstallments>
<Installment>
<installmentDate>2014-06-15</installmentDate>
<installmentAmount>218</installmentAmount>
</Installment>
<Installment>
<installmentDate>2014-07-15</installmentDate>
<installmentAmount>300</installmentAmount>
</Installment>
<Installment>
<installmentDate>2014-08-15</installmentDate>
<installmentAmount>300</installmentAmount>
</Installment>
</SalesInvoiceInstallments>
</parameter>
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
<message>Succesfuly added 3 installments to sales invoice.</message>
<number>2014-00013</number>
<date>2014-05-15</date>
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="None or only one instalment specified."><error/> <!-- at least two installments must be specified
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description="No instalments were added to sales invoice!"><error/> <!-- no installments added to sales invoice
</response>
Add image/attachment to sales invoice.
Parameters
number | Document number. Can use sequential document number (example: 2), or formated number (example: 2016-00002) |
date | Document date |
costPosition | Cost position/cost center |
businessUnit | Business unit |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceAttachmentAdd">
<parameter name="number" type="String" value="2020-00001" />
<parameter name="attachment">
<contents encoding="BASE64">BASE64...</contents>
<fileName>att.jpg</fileName>
</parameter>
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
<message>Successfully added attachment att.jpg to sales invoice 2020-00001.</message>
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description=""><error/> <!-- Possible errors: Access denied. User account does not have sufficient privileges for the given request, Parameter named <number> is required, Can not find sales invoice for number: 2020-00001, Parameter <attachment> is missing, Parameter <attachment> cannot parse contents
</response>
Add attachment to sales invoice and set is as default.
Parameters
number | Document number. Can use sequential document number (example: 2), or formated number (example: 2016-00002) |
date | Document date |
costPosition | Cost position/cost center |
businessUnit | Business unit |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceAttachmentSetDefault">
<parameter name="number" type="String" value="2020-00001" />
<parameter name="attachment">
<contents encoding="BASE64">BASE64...</contents>
<fileName>att.jpg</fileName>
</parameter>
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
<message>Successfully added attachment att.jpg to sales invoice 2020-00001.</message>
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description=""><error/> <!-- Possible errors: Access denied. User account does not have sufficient privileges for the given request, Parameter named <number> is required, Can not find sales invoice for number: 2020-00001, Parameter <attachment> is missing, Parameter <attachment> cannot parse contents
</response>
Get default attachment of sales invoice.
Parameters
number | Document number. Can use sequential document number (example: 2), or formated number (example: 2016-00002) |
date | Document date |
costPosition | Cost position/cost center |
businessUnit | Business unit |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceAttachmentGet">
<parameter name="number" type="String" value="2020-00001" />
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
<SalesInvoice>
<Attachments>
<Attachment>
<fileName>att.jpg</fileName>
<contents encoding="BASE64">BASE64</contents>
</Attachment>
</Attachments>
</SalesInvoice>
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description=""><error/> <!-- Possible errors: Access denied. User account does not have sufficient privileges for the given request, Parameter named <number> is required, Can not find sales invoice for number: 2020-00001 Sales invoice does not have attachemnts.
</response>
Get all images/attachments of article.
Parameters
number | Document number. Can use sequential document number (example: 2), or formated number (example: 2016-00002) |
date | Document date |
costPosition | Cost position/cost center |
businessUnit | Business unit |
Example request and response
POST /WebServicesCZ/API HTTP/1.1
Host: eurofaktura.cz
User-Agent: Mozilla/4.0
Content-Length: 410
Content-Type: application/octet-stream
<?xml version="1.0" encoding="utf-8"?>
<request>
<login username="petr" md5pass="ddb43e9f119c6805f4770ecc4f6466ba" token="E7DF3E6E94FB4579BBA8F54979010B5C" />
<method name="SalesInvoiceAttachmentList">
<parameter name="number" type="String" value="2020-00001" />
</method>
</request>
Response
<?xml version="1.0" encoding="utf-8"?>
<response status="ok" >
<SalesInvoice>
<Attachments>
<Attachment>
<fileName>att1.jpg</fileName>
<contents encoding="BASE64">1BASE64</contents>
</Attachment>
<Attachment>
<fileName>att2.jpg</fileName>
<contents encoding="BASE64">2BASE64</contents>
</Attachment>
<Attachment>
<fileName>att3.jpg</fileName>
<contents encoding="BASE64">3BASE64</contents>
</Attachment>
</Attachments>
</SalesInvoice>
</response>
Response on error
<?xml version="1.0" encoding="utf-8"?>
<response status="error" >
<error description=""><error/> <!-- Possible errors: Access denied. User account does not have sufficient privileges for the given request, Parameter named <number> is required, Can not find sales invoice for number: 2020-00001 Sales invoice does not have attachemnts.
</response>