developer.elorus.com Open in urlscan Pro
2606:50c0:8001::153  Public Scan

Submitted URL: http://developer.elorus.com/
Effective URL: https://developer.elorus.com/
Submission: On March 07 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

Select region International Greece
 * Authentication
 * Authorization
 * Using the API
   * Demo organizations
   * Call rate limits
   * Localization
 * Contacts
   * get/v1.1/contacts/
   * post/v1.1/contacts/
   * get/v1.1/contacts/{id}/
   * put/v1.1/contacts/{id}/
   * del/v1.1/contacts/{id}/
 * Invoices
   * get/v1.1/invoices/
   * post/v1.1/invoices/
   * get/v1.1/invoices/{id}/
   * put/v1.1/invoices/{id}/
   * patch/v1.1/invoices/{id}/
   * del/v1.1/invoices/{id}/
   * get/v1.1/invoices/{id}/email/
   * post/v1.1/invoices/{id}/email/
   * get/v1.1/invoices/{id}/pdf/
   * put/v1.1/invoices/{id}/void/
 * Credit notes
   * get/v1.1/creditnotes/
   * post/v1.1/creditnotes/
   * get/v1.1/creditnotes/{id}/
   * put/v1.1/creditnotes/{id}/
   * patch/v1.1/creditnotes/{id}/
   * del/v1.1/creditnotes/{id}/
   * get/v1.1/creditnotes/{id}/email/
   * post/v1.1/creditnotes/{id}/email/
   * get/v1.1/creditnotes/{id}/pdf/
   * put/v1.1/creditnotes/{id}/void/
   * get/v1.1/creditnotes/{parent_pk}/applied-credit/
   * post/v1.1/creditnotes/{parent_pk}/applied-credit/
   * del/v1.1/creditnotes/{parent_pk}/applied-credit/{id}/
 * Estimates
   * get/v1.1/estimates/
   * post/v1.1/estimates/
   * get/v1.1/estimates/{id}/
   * put/v1.1/estimates/{id}/
   * patch/v1.1/estimates/{id}/
   * del/v1.1/estimates/{id}/
   * get/v1.1/estimates/{id}/email/
   * post/v1.1/estimates/{id}/email/
   * get/v1.1/estimates/{id}/pdf/
 * Recurring invoices
   * get/v1.1/recurringinvoices/
   * post/v1.1/recurringinvoices/
   * get/v1.1/recurringinvoices/{id}/
   * put/v1.1/recurringinvoices/{id}/
   * del/v1.1/recurringinvoices/{id}/
 * Bills
   * get/v1.1/bills/
   * post/v1.1/bills/
   * get/v1.1/bills/{id}/
   * put/v1.1/bills/{id}/
   * patch/v1.1/bills/{id}/
   * del/v1.1/bills/{id}/
   * get/v1.1/bills/{id}/pdf/
   * put/v1.1/bills/{id}/void/
 * Supplier credits
   * get/v1.1/suppliercredits/
   * post/v1.1/suppliercredits/
   * get/v1.1/suppliercredits/{id}/
   * put/v1.1/suppliercredits/{id}/
   * patch/v1.1/suppliercredits/{id}/
   * del/v1.1/suppliercredits/{id}/
   * get/v1.1/suppliercredits/{id}/email/
   * post/v1.1/suppliercredits/{id}/email/
   * get/v1.1/suppliercredits/{id}/pdf/
   * put/v1.1/suppliercredits/{id}/void/
   * get/v1.1/suppliercredits/{parent_pk}/applied-credit/
   * post/v1.1/suppliercredits/{parent_pk}/applied-credit/
   * del/v1.1/suppliercredits/{parent_pk}/applied-credit/{id}/
 * Expenses
   * get/v1.1/expenses/
   * post/v1.1/expenses/
   * get/v1.1/expenses/{id}/
   * put/v1.1/expenses/{id}/
   * del/v1.1/expenses/{id}/
 * Projects
   * get/v1.1/projects/
   * get/v1.1/projects/{id}/
 * Payments received
   * get/v1.1/cashreceipts/
   * post/v1.1/cashreceipts/
   * get/v1.1/cashreceipts/{id}/
   * put/v1.1/cashreceipts/{id}/
   * del/v1.1/cashreceipts/{id}/
 * Payments sent
   * get/v1.1/cashpayments/
   * post/v1.1/cashpayments/
   * get/v1.1/cashpayments/{id}/
   * put/v1.1/cashpayments/{id}/
   * del/v1.1/cashpayments/{id}/
 * Products / services
   * get/v1.1/products/
   * post/v1.1/products/
   * get/v1.1/products/{id}/
   * put/v1.1/products/{id}/
   * del/v1.1/products/{id}/
 * Taxes
   * get/v1.1/taxes/
   * get/v1.1/taxes/{id}/
 * Payment gateways
   * get/v1.1/paymentgateways/
 * Expense categories
   * get/v1.1/expensecategories/
   * get/v1.1/expensecategories/{id}/
 * Tracking categories
   * get/v1.1/trackingcategories/
   * get/v1.1/trackingcategories/{id}/
 * Templates
   * get/v1.1/templates/
   * get/v1.1/templates/{id}/
 * Email templates
   * get/v1.1/emailtemplates/
   * post/v1.1/emailtemplates/
   * get/v1.1/emailtemplates/{id}/
   * put/v1.1/emailtemplates/{id}/
   * del/v1.1/emailtemplates/{id}/
 * Document types
   * get/v1.1/documenttypes/
   * get/v1.1/documenttypes/{id}/
 * Numbering sequences
   * get/v1.1/numberingsequence/
   * post/v1.1/numberingsequence/
   * get/v1.1/numberingsequence/{id}/
   * put/v1.1/numberingsequence/{id}/
   * del/v1.1/numberingsequence/{id}/

Documentation Powered by ReDoc



ELORUS DEVELOPER API (1.1)



The Elorus developer API enables external applications access the Elorus
platform and update organization data programmatically. For example, you may use
the API to:

 * Update your data without interacting with the Elorus user interface
 * Connect your e-shop / website, automate the invoicing process and synchronize
   data
 * Use Elorus as your billing system

This portal provides documentation for developers to access and use the Elorus
API.


AUTHENTICATION


API_KEY

To connect to the API one must be registered with Elorus and own an API key. The
API key is bound to a specific user, and therefore can be used to perform any
action the user can perform within Elorus.

The API key must be sent on every request through the standard Authorization
HTTP header as follows:

Authorization: Token <the_token>

To find your API key open the Elorus web application and navigate to the "User
Profile".

Security Scheme Type API Key Header parameter name: Authorization


AUTHORIZATION

Organizations are a key concept in Elorus. Each user is assigned a role within
an organization / company, depending on which he may or may not be able to
perform actions. To specify the organization on which you wish to operate, you
must provide the custom X-Elorus-Organization HTTP header:

X-Elorus-Organization: 128759403567807

Since each API key represents a user, the ability to retrieve, update or delete
data depends on the user role within the specified organization.

In the event of an unauthorized request, the Elorus API returns a HTTP 403
response. Additional details about the error may be provided within the response
body.

The use of X-Elorus-Organization is explicitly documented where needed, under
the Header Parameters section.

To start developing with the Elorus API you need to sign up for a free account.
The best way to try out Elorus and test your code is through demo organizations.


USING THE API




DEMO ORGANIZATIONS

While developing your application, it is recommended to restrict all API
requests only to demo organizations by providing the X-Elorus-Demo HTTP header:

X-Elorus-Demo: true

This way Elorus will enforce a demo organization, preventing accidental data
loss on production organizations. Demo organizations are a special form of
organizations, suitable for reviewing Elorus and experimenting with the API.
Within a demo organization:

 * You can create unlimited documents to unlimited clients / suppliers.
 * You can only have a single user - yourself.
 * User management & plan subscription functionality is disabled both in the
   application UI and the API.
 * Data is automatically reset at the 1st of every month.

--------------------------------------------------------------------------------

Demo organizations can be created through the Elorus UI. Contact the Elorus
support team for more information.

--------------------------------------------------------------------------------


CALL RATE LIMITS

Each user has a hard limit of 1000 API calls per day. At the same time, a user
may not perform more than 60 requests per minute. If an API call exceeds these
limits, you will receive an HTTP 429 response. The accompanying error message
will look like "Request was throttled. Expected available in 60.0 seconds".


LOCALIZATION


LANGUAGE

The English language is used throughout the Elorus API, regardless of the
authenticated user's language preference. The English locale conventions are
also used for decimal numbers and dates:

 * The character . is used as a floating point for decimal numbers.
 * Dates are expected & returned in the form of YYYY-mm-dd.


TIMEZONE

The UTC timezone is used throughout the Elorus API. Datetime values are
formatted in the standard ISO format.


CONTACTS

A contact in Elorus represents a client, a supplier or both.

TRACKING CATEGORIES

Contacts may be assigned custom tags. Tags are grouped under custom categories
and can be of great use in reports. The API allows for full control over contact
tracking.


/V1.1/CONTACTS/


GET THE LIST OF CONTACTS

All related addresses, phone numbers and email addresses are included in the
response.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are display_name, profession,
vat_number, modified, created. Prepend a - to denote reverse ordering (e.g
-display_name).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are first_name, last_name, company, profession,
vat_number, email__email, phones__number, addresses__address, addresses__city,
addresses__state, related_notes__notes, custom_id.

letter
string

Optionally filter by starting letter. Refers to the contact's "display_name."

ctype
string

Optionally filter by contact type. The available choices are: client, supplier.

profession
string

Optionally filter by profession.

company
string

Optionally filter by company.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/contacts/
https://api.elorus.com/v1.1/contacts/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "active": true,
       * "first_name": "John",
       * "last_name": "Doe",
       * "company": "Acme Inc.",
       * "display_name": "Acme Inc. - Doe, John",
       * "profession": "Consultant",
       * "vat_number": "123456789",
       * "is_client": true,
       * "is_supplier": true,
       * "default_language": "en",
       * "default_theme": "2142000303010092",
       * "default_taxes":
         
         [
          * "0116700303010117"
         
         ],
       * "default_currency_code": "USD",
       * "addresses":
         
         [
          * 
            {
             * "id": "1050000300010040",
             * "address": "4 Catherine St.",
             * "city": "Southaven",
             * "state": "MS",
             * "zip": "38671",
             * "country": "US",
             * "ad_type": "bill",
             * "branch_code": 1
            
            }
         
         ],
       * "email":
         
         [
          * 
            {
             * "id": "1050000300010040",
             * "email": "john@doe.com",
             * "primary": true
            
            }
         
         ],
       * "phones":
         
         [
          * 
            {
             * "id": "1050000300010040",
             * "number": "662-222-2222",
             * "primary": true
            
            }
         
         ],
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/CONTACTS/


CREATE A NEW CONTACT.

This endpoint will add a new contact to the specified organization. Although
first_name, last_name and company are not required fields, at least one of them
must be specified for the record to be valid. The created contact's ID is
included in the response.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

active
boolean (Active)

You can archive contacts to shorten your lists without losing any data. Archived
contacts cannot be invoiced, cannot login to the client portal and cannot be
assigned to new projects.

first_name
string (First name) <= 50 characters

First name of the contact.

last_name
string (Last name) <= 50 characters

Last name of the contact.

company
string (Company) <= 100 characters

The company that the contact represents.

profession
string (Profession) <= 100 characters

Industry / profession.

vat_number
string (Tax ID) <= 20 characters

The tax ID of the contact.

is_client
boolean (Client)

Whether the contact is a client or not.

is_supplier
boolean (Supplier)

Whether the contact is a supplier or not.

default_language
string (Default language)

One of the following:

List of values

ValueDescriptionenEnglishen-gbEnglish (United
Kingdom)elGreekfrFrenchdeGermanitItalianesSpanishbgBulgarian

default_theme
integer (Default template) Nullable

ID of the template that will be used by default when invoicing this contact.

default_taxes
Array of integers (Default taxes)

A list of tax IDs that should apply by default when invoicing the contact

default_currency_code
string (Default currency)

The currency used by default when invoicing this contact. One of the following
or blank (empty string):

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

addresses
Array of objects (Addresses)

A list of postal addresses.

email
Array of objects (Email accounts)

A list of emails.

phones
Array of objects (Phone/Fax numbers)

A list of phone numbers.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/contacts/
https://api.elorus.com/v1.1/contacts/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "active": true,
 * "first_name": "John",
 * "last_name": "Doe",
 * "company": "Acme Inc.",
 * "profession": "Consultant",
 * "vat_number": "123456789",
 * "is_client": true,
 * "is_supplier": true,
 * "default_language": "en",
 * "default_theme": "2142000303010092",
 * "default_taxes":
   
   [
    * "0116700303010117"
   
   ],
 * "default_currency_code": "USD",
 * "addresses":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "address": "4 Catherine St.",
       * "city": "Southaven",
       * "state": "MS",
       * "zip": "38671",
       * "country": "US",
       * "ad_type": "bill",
       * "branch_code": 1
      
      }
   
   ],
 * "email":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "email": "john@doe.com",
       * "primary": true
      
      }
   
   ],
 * "phones":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "number": "662-222-2222",
       * "primary": true
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "active": true,
 * "first_name": "John",
 * "last_name": "Doe",
 * "company": "Acme Inc.",
 * "display_name": "Acme Inc. - Doe, John",
 * "profession": "Consultant",
 * "vat_number": "123456789",
 * "is_client": true,
 * "is_supplier": true,
 * "default_language": "en",
 * "default_theme": "2142000303010092",
 * "default_taxes":
   
   [
    * "0116700303010117"
   
   ],
 * "default_currency_code": "USD",
 * "addresses":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "address": "4 Catherine St.",
       * "city": "Southaven",
       * "state": "MS",
       * "zip": "38671",
       * "country": "US",
       * "ad_type": "bill",
       * "branch_code": 1
      
      }
   
   ],
 * "email":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "email": "john@doe.com",
       * "primary": true
      
      }
   
   ],
 * "phones":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "number": "662-222-2222",
       * "primary": true
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CONTACTS/{ID}/


GET THE DETAILS OF A SINGLE CONTACT.

Returns all available information for a specific contact.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/contacts/{id}/
https://api.elorus.com/v1.1/contacts/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "active": true,
 * "first_name": "John",
 * "last_name": "Doe",
 * "company": "Acme Inc.",
 * "display_name": "Acme Inc. - Doe, John",
 * "profession": "Consultant",
 * "vat_number": "123456789",
 * "is_client": true,
 * "is_supplier": true,
 * "default_language": "en",
 * "default_theme": "2142000303010092",
 * "default_taxes":
   
   [
    * "0116700303010117"
   
   ],
 * "default_currency_code": "USD",
 * "addresses":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "address": "4 Catherine St.",
       * "city": "Southaven",
       * "state": "MS",
       * "zip": "38671",
       * "country": "US",
       * "ad_type": "bill",
       * "branch_code": 1
      
      }
   
   ],
 * "email":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "email": "john@doe.com",
       * "primary": true
      
      }
   
   ],
 * "phones":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "number": "662-222-2222",
       * "primary": true
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CONTACTS/{ID}/


UPDATE A CONTACT.

You must provide at least the required fields for the record to be successfully
updated. Any missing parameter will result in preserving the old value.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

active
boolean (Active)

You can archive contacts to shorten your lists without losing any data. Archived
contacts cannot be invoiced, cannot login to the client portal and cannot be
assigned to new projects.

first_name
string (First name) <= 50 characters

First name of the contact.

last_name
string (Last name) <= 50 characters

Last name of the contact.

company
string (Company) <= 100 characters

The company that the contact represents.

profession
string (Profession) <= 100 characters

Industry / profession.

vat_number
string (Tax ID) <= 20 characters

The tax ID of the contact.

is_client
boolean (Client)

Whether the contact is a client or not.

is_supplier
boolean (Supplier)

Whether the contact is a supplier or not.

default_language
string (Default language)

One of the following:

List of values

ValueDescriptionenEnglishen-gbEnglish (United
Kingdom)elGreekfrFrenchdeGermanitItalianesSpanishbgBulgarian

default_theme
integer (Default template) Nullable

ID of the template that will be used by default when invoicing this contact.

default_taxes
Array of integers (Default taxes)

A list of tax IDs that should apply by default when invoicing the contact

default_currency_code
string (Default currency)

The currency used by default when invoicing this contact. One of the following
or blank (empty string):

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

addresses
Array of objects (Addresses)

A list of postal addresses.

email
Array of objects (Email accounts)

A list of emails.

phones
Array of objects (Phone/Fax numbers)

A list of phone numbers.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/contacts/{id}/
https://api.elorus.com/v1.1/contacts/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "active": true,
 * "first_name": "John",
 * "last_name": "Doe",
 * "company": "Acme Inc.",
 * "profession": "Consultant",
 * "vat_number": "123456789",
 * "is_client": true,
 * "is_supplier": true,
 * "default_language": "en",
 * "default_theme": "2142000303010092",
 * "default_taxes":
   
   [
    * "0116700303010117"
   
   ],
 * "default_currency_code": "USD",
 * "addresses":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "address": "4 Catherine St.",
       * "city": "Southaven",
       * "state": "MS",
       * "zip": "38671",
       * "country": "US",
       * "ad_type": "bill",
       * "branch_code": 1
      
      }
   
   ],
 * "email":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "email": "john@doe.com",
       * "primary": true
      
      }
   
   ],
 * "phones":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "number": "662-222-2222",
       * "primary": true
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "active": true,
 * "first_name": "John",
 * "last_name": "Doe",
 * "company": "Acme Inc.",
 * "display_name": "Acme Inc. - Doe, John",
 * "profession": "Consultant",
 * "vat_number": "123456789",
 * "is_client": true,
 * "is_supplier": true,
 * "default_language": "en",
 * "default_theme": "2142000303010092",
 * "default_taxes":
   
   [
    * "0116700303010117"
   
   ],
 * "default_currency_code": "USD",
 * "addresses":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "address": "4 Catherine St.",
       * "city": "Southaven",
       * "state": "MS",
       * "zip": "38671",
       * "country": "US",
       * "ad_type": "bill",
       * "branch_code": 1
      
      }
   
   ],
 * "email":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "email": "john@doe.com",
       * "primary": true
      
      }
   
   ],
 * "phones":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "number": "662-222-2222",
       * "primary": true
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CONTACTS/{ID}/


DELETE A CONTACT.

Note that you cannot delete contacts having relations with other objects (such
as invoices, payments etc). Trying to delete such records will result in a 400
HTTP status -with appropriate error messages-.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/contacts/{id}/
https://api.elorus.com/v1.1/contacts/{id}/


INVOICES

An invoice holds information regarding the actual transaction (such as the
client, date, amounts etc.), as well as additional information needed to render
the document as PDF.

CLIENT DATA

Invoices also keep a copy of all the client information that will appear on the
PDF. As a result you may modify the underlying client contact (e.g. update the
billing address) without affecting the printable form of past transactions with
that client.

PAYMENT GATEWAYS

If you want to let clients pay online, you must associate one or more payment
gateways with your invoices. Each invoice may have a distinct set of payment
gateways, depending on the business needs (e.g. the client's currency or country
etc.)

TRACKING CATEGORIES

Invoices may be assigned custom tags. Tags are grouped under custom categories
and can help you better understand your sales performance. The API allows for
full control over the invoice tracking.


/V1.1/INVOICES/


GET THE LIST OF INVOICES.

The response does not include all the invoice details. To retrieve more
information about a specific invoice, use the single invoice endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are date, documenttype__title,
client__display_name, total, initial, net, draft, paid, payable, number,
sequence_flat, due_date, modified, created. Prepend a - to denote reverse
ordering (e.g -date).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are client__display_name, documenttype__title,
sequence__name, number, items__title, items__description, client_vat_number,
related_notes__notes, custom_id.

period_from
string

Optionally filter results from a date onwards. Must be used with the period_to
parameter, otherwise it won't have any effect. Date must be in the form of
YYYY-mm-dd.

period_to
string

Optionally filter results from a date backwards. Must be used with the
period_from parameter, otherwise it won't have any effect. Date must be in the
form of YYYY-mm-dd.

status
string

Optionally filter by the document's status. The available choices are: draft,
pending, issued, partial, unpaid, overdue, paid, void.

draft
string

Optionally filter by draft status. The available choices are: 1, 0.

fpaid
string

Optionally filter by whether the invoice is paid or not. The available choices
are: 1, 0.

is_void
string

Optionally filter by void status. The available choices are: 1, 0.

overdue
string

Optionally filter by whether the invoice is overdue or not. The available
choices are: 1, 0.

client
string

Optionally filter by client ID.

currency_code
string

Optionally filter by currency code.

documenttype
string

Optionally filter by document type ID.

sequence
string

Optionally filter by the numbering sequence.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/invoices/
https://api.elorus.com/v1.1/invoices/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "representation": "Invoice #A-1",
       * "status": "paid",
       * "draft": false,
       * "documenttype": "4400000040000123",
       * "sequence": "",
       * "number": "",
       * "date": "2018-10-25",
       * "due_date": "2018-11-25",
       * "client": "3300000040000100",
       * "client_display_name": "Acme Inc.",
       * "client_profession": "Digital marketing",
       * "client_vat_number": "123451234",
       * "billing_address":
         
         {
          * "address_line": "4 Catherine St.",
          * "city": "Southaven",
          * "state": "MS",
          * "zip": "38671",
          * "country": "US"
         
         },
       * "shipping_address":
         
         {
          * "address_line": "4 Catherine St.",
          * "city": "Southaven",
          * "state": "MS",
          * "zip": "38671",
          * "country": "US"
         
         },
       * "client_contact_person": "John Doe",
       * "client_phone_number": "662-222-2222",
       * "client_email": "john@doe.com",
       * "currency_code": "USD",
       * "exchange_rate": "1.000000",
       * "calculator_mode": "initial",
       * "initial": "80.00",
       * "net": "80.00",
       * "total": "100.00",
       * "payable": "100.00",
       * "paid": "100.00",
       * "permalink": "//url-for-the-client/",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/INVOICES/


CREATE A NEW INVOICE.

To create a new invoice, you must first specify the client. You may choose to
omit all client-related fields except from the client ID. In this case, the
fields will be initialized with values originating from the client's contact
record. For example, if you do not specify the client_email parameter it will be
automatically copied from the specified contact record. If you provide blank
values (e.g. in case you do send the client_email parameter with an empty string
value), the corresponding fields will be left empty.

PDF RENDERING

You may specify the template to use when rendering the invoice to PDF. If you
omit the template field, the client's default template will be used.

INVOICE LINES & AMOUNTS

The invoice's initial, net and total amount will be calculated automatically and
their values will depend on the calculator mode and the line items.

When it comes to the invoice lines, you may associate each line with an
inventory product. In this case you can omit the title, description, measurement
unit and value fields to have them copied over form product record.

PAYMENT GATEWAYS

When you create a new invoice, it will be automatically associated with the
default payment gateways of the organization (if any), so that the invoice can
be paid online. To modify the invoice's payment gateways, you must use the
partial update endpoint.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

documenttype
integer (Document type)

ID of the associated document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

number
string (Number) <= 100 characters

Use empty string or do not send it at all, for automatic numbering.

date
required
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

due_days
integer (Due days) [ 0 .. 2147483647 ] Nullable

Days after the issue date, that the invoice will be considered overdue. This
affects the document's due date. Use null to not set a due date.

client
required
integer (Client)

ID of the associated client.

client_display_name
string (Client name) [ 1 .. 203 ] characters

If not provided, the client name will be retrieved from the specified client
contact

client_profession
string (Client profession) <= 100 characters

The client profession, as it will appear on the PDF.

client_vat_number
string (Client tax ID) <= 20 characters

The client tax ID, as it will appear on the PDF.

billing_address
object (Billing address)

The client billing address.

shipping_address
object (Shipping address)

The client shipping address.

client_contact_person
string (Contact person) <= 101 characters

The client's contact person, as it will appear on the PDF.

client_phone_number
string (Phone number) <= 30 characters

The client phone number, as it will appear on the PDF.

client_email
string <email> (Email) <= 100 characters

The client email address, as it will appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

template
integer (Template)

ID of the associated template.

terms
string (Terms & conditions)

These terms are displayed on the document's printable form.

public_notes
string (Public notes)

These notes are displayed on the document's printable form.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/invoices/
https://api.elorus.com/v1.1/invoices/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00"
      
      }
   
   ],
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the invoice",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Invoice #A-1",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the invoice",
 * "payment_gateways":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/INVOICES/{ID}/


GET A SINGLE INVOICE.

Returns all available information for a specific invoice.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/invoices/{id}/
https://api.elorus.com/v1.1/invoices/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Invoice #A-1",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the invoice",
 * "payment_gateways":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/INVOICES/{ID}/


UPDATE AN INVOICE.

You must send all required fields for the record to be successfully updated. You
may only modify draft invoices. To update issued invoices, you should first mark
them as draft via the partial update endpoint.

When changing the invoice client, all client fields will be updated based on the
new contact record, unless you explicitly specify their values.

To update the line items, the endpoint expects that you send a complete list of
the new items. For existing lines you must send over their IDs (as returned by
the retrieve endpoint) along with any possible changes. If there exist any lines
whose IDs are not sent, they will be deleted. Accordingly, lines for which you
send no ID will result in creating new items.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

documenttype
integer (Document type)

ID of the associated document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

number
string (Number) <= 100 characters

Use empty string or do not send it at all, for automatic numbering.

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

due_days
integer (Due days) [ 0 .. 2147483647 ] Nullable

Days after the issue date, that the invoice will be considered overdue. This
affects the document's due date. Use null to not set a due date.

client
required
integer (Client)

ID of the associated client.

client_display_name
string (Client name) [ 1 .. 203 ] characters

If you change the client and do not specify the field, the client name will be
retrieved from the specified client contact.

client_profession
string (Client profession) <= 100 characters

The client profession, as it will appear on the PDF.

client_vat_number
string (Client tax ID) <= 20 characters

The client tax ID, as it will appear on the PDF.

billing_address
object (Billing address)

The client billing address.

shipping_address
object (Shipping address)

The client shipping address.

client_contact_person
string (Contact person) <= 101 characters

The client's contact person, as it will appear on the PDF.

client_phone_number
string (Phone number) <= 30 characters

The client phone number, as it will appear on the PDF.

client_email
string <email> (Email) <= 100 characters

The client email address, as it will appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

template
integer (Template)

ID of the associated template.

terms
string (Terms & conditions)

These terms are displayed on the document's printable form.

public_notes
string (Public notes)

These notes are displayed on the document's printable form.

payment_gateways
Array of integers (Payment gateways)

A list of payment gateway IDs that can be used to pay the invoice.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/invoices/{id}/
https://api.elorus.com/v1.1/invoices/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00"
      
      }
   
   ],
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the invoice",
 * "payment_gateways":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Invoice #A-1",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the invoice",
 * "payment_gateways":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/INVOICES/{ID}/


PARTIALLY UPDATE AN INVOICE.

Use this action to update the invoice payment gateways, tracking, or change it's
draft status. Since this method does not modify the invoice items and amounts
you can always use it regardless the invoice status. On the other hand, the full
update action is only applicable to draft invoices.

Please note that you cannot mark void invoices as draft, unless you un-void them
first.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

exchange_rate
string (Exchange rate)

Decimal rendered as string, with the . character used as a floating point. Up to
6 decimal places.

payment_gateways
Array of integers (Payment gateways)

A list of payment gateway IDs that can be used to pay the invoice.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

patch/v1.1/invoices/{id}/
https://api.elorus.com/v1.1/invoices/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "exchange_rate": "1.000000",
 * "payment_gateways":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Invoice #A-1",
 * "status": "paid",
 * "draft": false,
 * "exchange_rate": "1.000000",
 * "payment_gateways":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/INVOICES/{ID}/


DELETE AN INVOICE.

Note that you cannot delete invoices marked as issued (i.e. the draft field is
set to false).

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/invoices/{id}/
https://api.elorus.com/v1.1/invoices/{id}/


/V1.1/INVOICES/{ID}/EMAIL/


EMAIL THE DOCUMENT TO A CLIENT.

You may retrieve the default email subject, message etc. with a GET request. Use
the POST request to queue the email for sending. In most cases you want to send
the data exactly as returned by the GET action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/invoices/{id}/email/
https://api.elorus.com/v1.1/invoices/{id}/email/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "cc": "accounting@doe.com",
 * "bcc": "someone-else@example.com",
 * "reply_to": "john@doe.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "sender_name": "string"

}


/V1.1/INVOICES/{ID}/EMAIL/


EMAIL THE DOCUMENT TO A CLIENT.

You may retrieve the default email subject, message etc. with a GET request. Use
the POST request to queue the email for sending. In most cases you want to send
the data exactly as returned by the GET action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



to
required
string <email> (To) non-empty

The recipient email address.

store_to
boolean (Store recipient)

Store the recipient address on the client contact for future use.

cc
required
Array of strings <email>

A list of email addresses to carbon-copy the email to.

bcc
required
Array of strings <email>

A list of email addresses to blind carbon-copy the email to.

subject
required
string (Subject) [ 1 .. 255 ] characters

The email subject.

message
required
string (Message) non-empty

The email message. May contain html.

attach_pdf
required
boolean (Attach PDF)

Whether to include the PDF version of the document as attachment or not.

sender_name
string (Sender name) [ 1 .. 70 ] characters

Sender display name

attachments
required
Array of integers (Attachments)

A list of invoice attachment IDs to attach in the email


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/invoices/{id}/email/
https://api.elorus.com/v1.1/invoices/{id}/email/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "store_to": true,
 * "cc":
   
   [
    * "accounting@doe.com"
   
   ],
 * "bcc": "someone-else@example.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "attach_pdf": true,
 * "sender_name": "string",
 * "attachments":
   
   [
    * "1050000300010040"
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "store_to": true,
 * "cc":
   
   [
    * "accounting@doe.com"
   
   ],
 * "bcc": "someone-else@example.com",
 * "reply_to": "john@doe.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "attach_pdf": true,
 * "sender_name": "string",
 * "attachments":
   
   [
    * "1050000300010040"
   
   ]

}


/V1.1/INVOICES/{ID}/PDF/


GET THE DOCUMENT AS PDF.

Download the document in PDF file format.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200

The pdf file

403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/invoices/{id}/pdf/
https://api.elorus.com/v1.1/invoices/{id}/pdf/


/V1.1/INVOICES/{ID}/VOID/

Mark the document as void or convert it from void back to issued.

Notice that when you mark a document as void:

 * It must already be issued.
 * It remains in the system for future reference, but is not involved in Elorus
   reports.
 * The sign "Void" appears for both the document entry inside the system and the
   printable version of it.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



void
boolean (Void)

Whether to void or un-void the document.If not sent, true will be assumed.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/invoices/{id}/void/
https://api.elorus.com/v1.1/invoices/{id}/void/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "void": true

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "status": "paid"

}


CREDIT NOTES

A credit note holds information regarding the actual transaction (such as the
client, date, amounts etc.), as well as additional information needed to render
the document as PDF.

CLIENT DATA

Credit notes also keep a copy of all the client information that will appear on
the PDF. As a result you may modify the underlying client contact (e.g. update
the billing address) without affecting the printable form of past transactions
with that client.

TRACKING CATEGORIES

Credit notes may be assigned custom tags. Tags are grouped under custom
categories and can help you better understand your sales performance. The API
allows for full control over the credit note tracking.


/V1.1/CREDITNOTES/


GET THE LIST OF CREDIT NOTES.

The response does not include all the credit note details. To retrieve more
information about a specific credit note, use the single credit note endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are date, documenttype__title,
client__display_name, total, initial, net, draft, paid, payable, number,
sequence_flat, modified, created. Prepend a - to denote reverse ordering (e.g
-date).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are client__display_name, documenttype__title,
sequence__name, number, items__title, items__description, client_vat_number,
related_notes__notes, custom_id.

period_from
string

Optionally filter results from a date onwards. Must be used with the period_to
parameter, otherwise it won't have any effect. Date must be in the form of
YYYY-mm-dd.

period_to
string

Optionally filter results from a date backwards. Must be used with the
period_from parameter, otherwise it won't have any effect. Date must be in the
form of YYYY-mm-dd.

status
string

Optionally filter by the document's status. The available choices are: draft,
pending, issued, partial, unpaid, paid, void.

draft
string

Optionally filter by draft status. The available choices are: 1, 0.

fpaid
string

Optionally filter by whether the invoice is paid or not. The available choices
are: 1, 0.

is_void
string

Optionally filter by void status. The available choices are: 1, 0.

client
string

Optionally filter by client ID.

currency_code
string

Optionally filter by currency code.

documenttype
string

Optionally filter by document type ID.

sequence
string

Optionally filter by the numbering sequence.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/creditnotes/
https://api.elorus.com/v1.1/creditnotes/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "representation": "Credit note #A-1",
       * "status": "paid",
       * "draft": false,
       * "documenttype": "4400000040000123",
       * "sequence": "",
       * "number": "",
       * "date": "2018-10-25",
       * "client": "3300000040000100",
       * "client_display_name": "Acme Inc.",
       * "client_profession": "Digital marketing",
       * "client_vat_number": "123451234",
       * "billing_address":
         
         {
          * "address_line": "4 Catherine St.",
          * "city": "Southaven",
          * "state": "MS",
          * "zip": "38671",
          * "country": "US"
         
         },
       * "client_contact_person": "John Doe",
       * "client_phone_number": "662-222-2222",
       * "client_email": "john@doe.com",
       * "currency_code": "USD",
       * "exchange_rate": "1.000000",
       * "calculator_mode": "initial",
       * "initial": "80.00",
       * "net": "80.00",
       * "total": "100.00",
       * "payable": "100.00",
       * "paid": "100.00",
       * "permalink": "//url-for-the-client/",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/CREDITNOTES/


CREATE A NEW CREDIT NOTE.

To create a new credit note, you must first specify the client. You may choose
to omit all client-related fields except from the client ID. In this case, the
fields will be initialized with values originating from the client's contact
record. For example, if you do not specify the client_email parameter it will be
automatically copied from the specified contact record. If you provide blank
values (e.g. in case you do send the client_email parameter with an empty string
value), the corresponding fields will be left empty.

PDF RENDERING

As far as the PDF rendering is concerned, you must first specify the template to
use. You may override terms and public_notes template settings through their
separate fields.

CREDIT NOTE LINES & AMOUNTS

The credit note's initial, net and total amount will be calculated automatically
and their values will depend on the calculator mode and the line items.

When it comes to the credit note lines, you may associate each line with an
inventory product. In this case you can omit the title, description, measurement
unit and value fields to have them copied over form product record. Once again,
if you choose to explicitly specify any of these fields, you end up overriding
the default values of the product record.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

documenttype
integer (Document type)

ID of the associated document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

number
string (Number) <= 100 characters

Use empty string or do not send it at all, for automatic numbering.

date
required
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

client
required
integer (Client)

ID of the associated client.

client_display_name
string (Client name) [ 1 .. 203 ] characters

If not provided, the client name will be retrieved from the specified client
contact

client_profession
string (Client profession) <= 100 characters

The client profession, as it will appear on the PDF.

client_vat_number
string (Client tax ID) <= 20 characters

The client tax ID, as it will appear on the PDF.

billing_address
object (Billing address)

The client billing address.

client_contact_person
string (Contact person) <= 101 characters

The client's contact person, as it will appear on the PDF.

client_phone_number
string (Phone number) <= 30 characters

The client phone number, as it will appear on the PDF.

client_email
string <email> (Email) <= 100 characters

The client email address, as it will appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

template
integer (Template)

ID of the associated template.

terms
string (Terms & conditions)

These terms are displayed on the document's printable form.

public_notes
string (Public notes)

These notes are displayed on the document's printable form.

related_documents
Array of integers (Related documents)

A list of invoice IDs linked to this credit document. This information is solely
for display purposes, it will appear on the PDF

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/creditnotes/
https://api.elorus.com/v1.1/creditnotes/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00"
      
      }
   
   ],
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the credit note",
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Credit note #A-1",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "paid": "100.00",
 * "payable": "100.00",
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the credit note",
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CREDITNOTES/{ID}/


GET A SINGLE CREDIT NOTE.

Returns all available information for a specific credit note.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/creditnotes/{id}/
https://api.elorus.com/v1.1/creditnotes/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Credit note #A-1",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the credit note",
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CREDITNOTES/{ID}/


UPDATE A CREDIT NOTE.

You must send all required fields for the record to be successfully updated. You
may only modify draft credit notes. To update issued creditnotes, you should
first mark them as draft via the partial update endpoint.

When changing the credit note client, all client fields will be updated based on
the new contact record, unless you explicitly specify their values.

To update the line items, the endpoint expects that you send a complete list of
the new items. For existing lines you must send over their IDs (as returned by
the retrieve endpoint) along with any possible changes. If there exist any lines
whose IDs are not sent, they will be deleted. Accordingly, lines for which you
send no ID will result in creating new items.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

documenttype
integer (Document type)

ID of the associated document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

number
string (Number) <= 100 characters

Use empty string or do not send it at all, for automatic numbering.

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

client
required
integer (Client)

ID of the associated client.

client_display_name
string (Client name) [ 1 .. 203 ] characters

If you change the client and do not specify the field, the client name will be
retrieved from the specified client contact.

client_profession
string (Client profession) <= 100 characters

The client profession, as it will appear on the PDF.

client_vat_number
string (Client tax ID) <= 20 characters

The client tax ID, as it will appear on the PDF.

billing_address
object (Billing address)

The client billing address.

client_contact_person
string (Contact person) <= 101 characters

The client's contact person, as it will appear on the PDF.

client_phone_number
string (Phone number) <= 30 characters

The client phone number, as it will appear on the PDF.

client_email
string <email> (Email) <= 100 characters

The client email address, as it will appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

template
integer (Template)

ID of the associated template.

terms
string (Terms & conditions)

These terms are displayed on the document's printable form.

public_notes
string (Public notes)

These notes are displayed on the document's printable form.

related_documents
Array of integers (Related documents)

A list of invoice IDs linked to this credit document. This information is solely
for display purposes, it will appear on the PDF

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/creditnotes/{id}/
https://api.elorus.com/v1.1/creditnotes/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "project": "0116700303010117"
      
      }
   
   ],
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the credit note",
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Credit note #A-1",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the credit note",
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CREDITNOTES/{ID}/


PARTIALLY UPDATE A CREDIT NOTE.

Use this action to update the credit note tracking, or change it's draft status.
Since this method does not modify the credit note items and amounts you can
always use it regardless the creditnote status. On the other hand, the full
update action is only applicable to draft credit notes.

Please note that you cannot mark void credit notes as draft, unless you un-void
them first.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If enabled, the document will not be taken into consideration in your balance
and statistics and you will not be able to add payments.

Once the document is issued (not draft) and as long as payments exist, the
document status cannot be reverted.

exchange_rate
string (Exchange rate)

Decimal rendered as string, with the . character used as a floating point. Up to
6 decimal places.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

patch/v1.1/creditnotes/{id}/
https://api.elorus.com/v1.1/creditnotes/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "exchange_rate": "1.000000",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Credit note #A-1",
 * "status": "paid",
 * "draft": false,
 * "exchange_rate": "1.000000",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CREDITNOTES/{ID}/


DELETE A CREDIT NOTE.

Note that you cannot delete credit notes marked as issued (i.e. the draft field
is set to false).

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/creditnotes/{id}/
https://api.elorus.com/v1.1/creditnotes/{id}/


/V1.1/CREDITNOTES/{ID}/EMAIL/


EMAIL THE DOCUMENT TO A CLIENT.

You may retrieve the default email subject, message etc. with a GET request. Use
the POST request to queue the email for sending. In most cases you want to send
the data exactly as returned by the GET action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/creditnotes/{id}/email/
https://api.elorus.com/v1.1/creditnotes/{id}/email/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "cc": "accounting@doe.com",
 * "bcc": "someone-else@example.com",
 * "reply_to": "john@doe.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "sender_name": "string"

}


/V1.1/CREDITNOTES/{ID}/EMAIL/


EMAIL THE DOCUMENT TO A CLIENT.

You may retrieve the default email subject, message etc. with a GET request. Use
the POST request to queue the email for sending. In most cases you want to send
the data exactly as returned by the GET action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



to
required
string <email> (To) non-empty

The recipient email address.

store_to
boolean (Store recipient)

Store the recipient address on the client contact for future use.

cc
required
Array of strings <email>

A list of email addresses to carbon-copy the email to.

bcc
required
Array of strings <email>

A list of email addresses to blind carbon-copy the email to.

subject
required
string (Subject) [ 1 .. 255 ] characters

The email subject.

message
required
string (Message) non-empty

The email message. May contain html.

attach_pdf
required
boolean (Attach PDF)

Whether to include the PDF version of the document as attachment or not.

sender_name
string (Sender name) [ 1 .. 70 ] characters

Sender display name

attachments
required
Array of integers (Attachments)

A list of credit note attachment IDs to attach in the email


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/creditnotes/{id}/email/
https://api.elorus.com/v1.1/creditnotes/{id}/email/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "store_to": true,
 * "cc":
   
   [
    * "accounting@doe.com"
   
   ],
 * "bcc": "someone-else@example.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "attach_pdf": true,
 * "sender_name": "string",
 * "attachments":
   
   [
    * "1050000300010040"
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "store_to": true,
 * "cc":
   
   [
    * "accounting@doe.com"
   
   ],
 * "bcc": "someone-else@example.com",
 * "reply_to": "john@doe.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "attach_pdf": true,
 * "sender_name": "string",
 * "attachments":
   
   [
    * "1050000300010040"
   
   ]

}


/V1.1/CREDITNOTES/{ID}/PDF/


GET THE DOCUMENT AS PDF.

Download the document in PDF file format.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200

The pdf file

403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/creditnotes/{id}/pdf/
https://api.elorus.com/v1.1/creditnotes/{id}/pdf/


/V1.1/CREDITNOTES/{ID}/VOID/

Mark the document as void or convert it from void back to issued.

Notice that when you mark a document as void:

 * It must already be issued.
 * It remains in the system for future reference, but is not involved in Elorus
   reports.
 * The sign "Void" appears for both the document entry inside the system and the
   printable version of it.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



void
boolean (Void)

Whether to void or un-void the document.If not sent, true will be assumed.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/creditnotes/{id}/void/
https://api.elorus.com/v1.1/creditnotes/{id}/void/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "void": true

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "status": "paid"

}


/V1.1/CREDITNOTES/{PARENT_PK}/APPLIED-CREDIT/


GET THE APPLIED CREDIT.

The list of credit applied to invoices.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

parent_pk
required
string


QUERY PARAMETERS

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/creditnotes/{parent_pk}/applied-credit/
https://api.elorus.com/v1.1/creditnotes/{parent_pk}/applied-credit/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "representation": "Credit applied to Invoice #1",
       * "invoice": "8800000040088865",
       * "date": "2018-10-25",
       * "currency_code": "USD",
       * "amount": "20.00",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/CREDITNOTES/{PARENT_PK}/APPLIED-CREDIT/


BULK APPLY CREDIT.

Apply all or part of the remaining credit to a list of invoices. The credit
note's client and currency code must match the invoice's corresponding values.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

parent_pk
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



invoice
required
integer (Invoice)

ID of the associated invoice.

amount
required
string (Amount)

Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/creditnotes/{parent_pk}/applied-credit/
https://api.elorus.com/v1.1/creditnotes/{parent_pk}/applied-credit/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "invoice": "8800000040088865",
 * "amount": "20.00"

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "representation": "Credit applied to Invoice #1",
 * "invoice": "8800000040088865",
 * "date": "2018-10-25",
 * "currency_code": "USD",
 * "amount": "20.00",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CREDITNOTES/{PARENT_PK}/APPLIED-CREDIT/{ID}/


DELETE APPLIED CREDIT.

Deleting applied credit will just detach the credit from the related invoice.
The endpoint's record ID does not refer to the invoice ID, rather than the
credit record's ID, returned by the list action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string

parent_pk
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/creditnotes/{parent_pk}/applied-credit/{id}/
https://api.elorus.com/v1.1/creditnotes/{parent_pk}/applied-credit/{id}/


ESTIMATES

An estimate holds information regarding the actual offer (such as the client,
date, amounts etc.), as well as additional information needed to render the
document as PDF.

PDF RENDERING

The entity responsible for rendering credit notes to PDF is called Template.
Templates dictate the design (such as the layout, color schemes, logo etc) as
well as the contents of the PDF (language, which columns to show / hide on each
line etc.).

CLIENT DATA

Estimates also keep a copy of all the client information that will appear on the
PDF. As a result you may modify the underlying client contact (e.g. update the
client address) without affecting the printable form of past transactions with
that client.

ACCEPTED / REJECTED ESTIMATES

Whenever an estimate is sent to the client, they are able to accept or reject
the quote. This information is stored on the accept_status field. The API also
allows you to programmatically mark the estimate as accepted or rejected, by
modifying the accept_status field.


/V1.1/ESTIMATES/


GET THE LIST OF ESTIMATES.

The response does not include all the estimate details. To retrieve more
information about a specific estimate, use the single estimate endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are date, documenttype__title,
client__display_name, total, initial, net, draft, number, sequence_flat,
modified, created. Prepend a - to denote reverse ordering (e.g -date).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are client__display_name, documenttype__title,
sequence__name, number, items__title, items__description, client_vat_number,
related_notes__notes, custom_id.

period_from
string

Optionally filter results from a date onwards. Must be used with the period_to
parameter, otherwise it won't have any effect. Date must be in the form of
YYYY-mm-dd.

period_to
string

Optionally filter results from a date backwards. Must be used with the
period_from parameter, otherwise it won't have any effect. Date must be in the
form of YYYY-mm-dd.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

status
string

Optionally filter by the document's status. The available choices are: draft,
issued, accepted, rejected, invoiced.

draft
string

Optionally filter by draft status. The available choices are: 1, 0.

accept_status
string

Optionally filter by accept status. The available choices are: accepted,
rejected, empty.

client
string

Optionally filter by client ID.

currency_code
string

Optionally filter by currency code.

documenttype
string

Optionally filter by document type ID.

sequence
string

Optionally filter by the numbering sequence.

custom_id
string

Optionally filter by custom ID.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/estimates/
https://api.elorus.com/v1.1/estimates/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "representation": "Estimate #EST-1",
       * "status": "accepted",
       * "draft": false,
       * "documenttype": "4400000040000123",
       * "sequence": "",
       * "number": "",
       * "date": "2018-10-25",
       * "client": "3300000040000100",
       * "client_display_name": "Acme Inc.",
       * "client_profession": "Digital marketing",
       * "client_vat_number": "123451234",
       * "billing_address":
         
         {
          * "address_line": "4 Catherine St.",
          * "city": "Southaven",
          * "state": "MS",
          * "zip": "38671",
          * "country": "US"
         
         },
       * "shipping_address":
         
         {
          * "address_line": "4 Catherine St.",
          * "city": "Southaven",
          * "state": "MS",
          * "zip": "38671",
          * "country": "US"
         
         },
       * "client_contact_person": "John Doe",
       * "client_phone_number": "662-222-2222",
       * "client_email": "john@doe.com",
       * "currency_code": "USD",
       * "exchange_rate": "1.000000",
       * "calculator_mode": "initial",
       * "initial": "80.00",
       * "net": "80.00",
       * "total": "100.00",
       * "permalink": "//url-for-the-client/",
       * "converted_invoice": "6700230020000663",
       * "active": true,
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/ESTIMATES/


CREATE A NEW ESTIMATE.

To create a new estimate, you must first specify the client. You may choose to
omit all client-related fields except from the client ID. In this case, the
fields will be initialized with values originating from the client's contact
record. For example, if you do not specify the client_email parameter it will be
automatically copied from the specified contact record. If you provide blank
values (e.g. in case you do send the client_email parameter with an empty string
value), the corresponding fields will be left empty.

PDF RENDERING

You may specify the template to use when rendering the estimate to PDF. If you
omit the template field, the client's default template will be used.

INVOICE LINES & AMOUNTS

The estimate's initial, net and total amount will be calculated automatically
and their values will depend on the calculator mode and the line items.

When it comes to the estimate lines, you may associate each line with an
inventory product. In this case you can omit the title, description, measurement
unit and value fields to have them copied over form product record.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

accept_status
string (Accept status)

Whether the client has accepted / rejected the estimate. One of the following or
blank (empty string):

List of values

ValueDescriptionacceptedAcceptedrejectedRejected

documenttype
integer (Document type)

ID of the associated document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

number
string (Number) <= 100 characters

Use empty string or do not send it at all, for automatic numbering.

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

client
required
integer (Client)

ID of the associated client.

client_display_name
string (Client name) [ 1 .. 203 ] characters

If not provided, the client name will be retrieved from the specified client
contact

client_profession
string (Client profession) <= 100 characters

The client profession, as it will appear on the PDF.

client_vat_number
string (Client tax ID) <= 20 characters

The client tax ID, as it will appear on the PDF.

billing_address
object (Billing address)

The client billing address.

shipping_address
object (Shipping address)

The client shipping address.

client_contact_person
string (Contact person) <= 101 characters

The client's contact person, as it will appear on the PDF.

client_phone_number
string (Phone number) <= 30 characters

The client phone number, as it will appear on the PDF.

client_email
string <email> (Email) <= 100 characters

The client email address, as it will appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

Line items of an estimate.

template
integer (Template)

ID of the associated template.

terms
string (Terms & conditions)

These terms are displayed on the document's printable form.

public_notes
string (Public notes)

These notes are displayed on the document's printable form.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/estimates/
https://api.elorus.com/v1.1/estimates/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "accept_status": "accepted",
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00"
      
      }
   
   ],
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the estimate"

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Estimate #EST-1",
 * "status": "accepted",
 * "draft": false,
 * "accept_status": "accepted",
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "template": 0,
 * "terms": "Terms and conditions here",
 * "public_notes": "Notes visible on the estimate",
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/ESTIMATES/{ID}/


GET A SINGLE ESTIMATE.

Returns all available information for a specific estimate.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/estimates/{id}/
https://api.elorus.com/v1.1/estimates/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Estimate #EST-1",
 * "status": "accepted",
 * "draft": false,
 * "accept_status": "accepted",
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "template": 0,
 * "public_notes": "Notes visible on the estimate",
 * "converted_invoice": "6700230020000663",
 * "permalink": "//url-for-the-client/",
 * "active": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/ESTIMATES/{ID}/


UPDATE AN ESTIMATE.

You must send all required fields for the record to be successfully updated. You
may only modify draft estimates. To update issued estimates, you should first
mark them as draft via the partial update endpoint.

When changing the estimate client, all client fields will be updated based on
the new contact record, unless you explicitly specify their values.

To update the line items, the endpoint expects that you send a complete list of
the new items. For existing lines you must send over their IDs (as returned by
the retrieve endpoint) along with any possible changes. If there exist any lines
whose IDs are not sent, they will be deleted. Accordingly, lines for which you
send no ID will result in creating new items.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

accept_status
string (Accept status)

Whether the client has accepted / rejected the estimate. One of the following or
blank (empty string):

List of values

ValueDescriptionacceptedAcceptedrejectedRejected

documenttype
integer (Document type)

ID of the associated document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

number
string (Number) <= 100 characters

Use empty string or do not send it at all, for automatic numbering.

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

client
required
integer (Client)

ID of the associated client.

client_display_name
string (Client name) [ 1 .. 203 ] characters

If you change the client and do not specify the field, the client name will be
retrieved from the specified client contact.

client_profession
string (Client profession) <= 100 characters

The client profession, as it will appear on the PDF.

client_vat_number
string (Client tax ID) <= 20 characters

The client tax ID, as it will appear on the PDF.

billing_address
object (Billing address)

The client billing address.

shipping_address
object (Shipping address)

The client shipping address.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

client_contact_person
string (Contact person) <= 101 characters

The client's contact person, as it will appear on the PDF.

client_phone_number
string (Phone number) <= 30 characters

The client phone number, as it will appear on the PDF.

client_email
string <email> (Email) <= 100 characters

The client email address, as it will appear on the PDF.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

Line items of an estimate.

template
integer (Template)

ID of the associated template.

public_notes
string (Public notes)

These notes are displayed on the document's printable form.

active
boolean (Active)



RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/estimates/{id}/
https://api.elorus.com/v1.1/estimates/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "accept_status": "accepted",
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00"
      
      }
   
   ],
 * "template": 0,
 * "public_notes": "Notes visible on the estimate",
 * "active": true

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Estimate #EST-1",
 * "status": "accepted",
 * "draft": false,
 * "accept_status": "accepted",
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "number": "",
 * "date": "2018-10-25",
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "template": 0,
 * "public_notes": "Notes visible on the estimate",
 * "converted_invoice": "6700230020000663",
 * "permalink": "//url-for-the-client/",
 * "active": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/ESTIMATES/{ID}/


PARTIALLY UPDATE AN ESTIMATE.

Use this action to update the estimate template, or change it's draft status.
Since this method does not modify the estimate items and amounts you can always
use it regardless the estimate status. On the other hand, the full update action
is only applicable to draft estimates.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

template
integer (Template)

ID of the associated template.

accept_status
string (Accept status)

Whether the client has accepted / rejected the estimate. One of the following or
blank (empty string):

List of values

ValueDescriptionacceptedAcceptedrejectedRejected


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

patch/v1.1/estimates/{id}/
https://api.elorus.com/v1.1/estimates/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "template": 0,
 * "accept_status": "accepted"

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "status": "accepted",
 * "template": 0,
 * "representation": "Estimate #EST-1",
 * "converted_invoice": "6700230020000663",
 * "accept_status": "accepted",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/ESTIMATES/{ID}/


DELETE AN ESTIMATE.

Note that you cannot delete estimates marked as issued (i.e. the draft field is
set to false).

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/estimates/{id}/
https://api.elorus.com/v1.1/estimates/{id}/


/V1.1/ESTIMATES/{ID}/EMAIL/


EMAIL THE DOCUMENT TO A CLIENT.

You may retrieve the default email subject, message etc. with a GET request. Use
the POST request to queue the email for sending. In most cases you want to send
the data exactly as returned by the GET action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/estimates/{id}/email/
https://api.elorus.com/v1.1/estimates/{id}/email/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "cc": "accounting@doe.com",
 * "bcc": "someone-else@example.com",
 * "reply_to": "john@doe.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "sender_name": "string"

}


/V1.1/ESTIMATES/{ID}/EMAIL/


EMAIL THE DOCUMENT TO A CLIENT.

You may retrieve the default email subject, message etc. with a GET request. Use
the POST request to queue the email for sending. In most cases you want to send
the data exactly as returned by the GET action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



to
required
string <email> (To) non-empty

The recipient email address.

store_to
boolean (Store recipient)

Store the recipient address on the client contact for future use.

cc
required
Array of strings <email>

A list of email addresses to carbon-copy the email to.

bcc
required
Array of strings <email>

A list of email addresses to blind carbon-copy the email to.

subject
required
string (Subject) [ 1 .. 255 ] characters

The email subject.

message
required
string (Message) non-empty

The email message. May contain html.

attach_pdf
required
boolean (Attach PDF)

Whether to include the PDF version of the document as attachment or not.

sender_name
string (Sender name) [ 1 .. 70 ] characters

Sender display name

attachments
required
Array of integers (Attachments)

A list of estimate attachment IDs to attach in the email


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/estimates/{id}/email/
https://api.elorus.com/v1.1/estimates/{id}/email/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "store_to": true,
 * "cc":
   
   [
    * "accounting@doe.com"
   
   ],
 * "bcc": "someone-else@example.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "attach_pdf": true,
 * "sender_name": "string",
 * "attachments":
   
   [
    * "1050000300010040"
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "store_to": true,
 * "cc":
   
   [
    * "accounting@doe.com"
   
   ],
 * "bcc": "someone-else@example.com",
 * "reply_to": "john@doe.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "attach_pdf": true,
 * "sender_name": "string",
 * "attachments":
   
   [
    * "1050000300010040"
   
   ]

}


/V1.1/ESTIMATES/{ID}/PDF/


GET THE DOCUMENT AS PDF.

Download the document in PDF file format.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200

The pdf file

403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/estimates/{id}/pdf/
https://api.elorus.com/v1.1/estimates/{id}/pdf/


RECURRING INVOICES

Recurring invoices serve as a template, based on which new invoices are created
automatically. The frequency that new invoices are generated is determined by a
corresponding schedule.

RECURRING SCHEDULE

The recurring schedule comprises four fields. The start_datetime denotes the
first time that a new invoice should be created. The interval and period fields
specify the frequency (e.g. every 2 weeks) and the end_datetime the date on
which the last execution will occur. For example, to create a recurring invoice
that will start on Jan 1, 2019 and will generate new invoices every month until
Jan 1, 2020, the recurring schedule would be:

start_datetime   2019-01-01T10:00:00.0Z
interval         1
period           months
end_datetime     2020-01-01T10:00:00.0Z

GENERATED INVOICES

Additional information regarding the generated invoices (i.e. the client,
invoice lines, appearance settings etc.) is also stored on the recurring
invoice. Therefore, recurring invoices have most of their fields in common with
normal invoices. For example, the recurring invoice's draft field controls
whether the created invoice will be a draft, rather than whether the recurring
invoice itself is a draft. To easily identify the role of each field, please see
the field description in the corresponding endpoints.

TRACKING CATEGORIES

Recurring invoices can also hold information about your custom tags. Once again,
this does not categorize the recurring invoice; it dictates the tags that will
be automatically assigned to the created invoices instead.


/V1.1/RECURRINGINVOICES/


GET THE LIST OF RECURRING INVOICES.

The response does not include all the recurring invoice details. To retrieve
more information about a specific recurring invoice, use the single recurring
invoice endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are start_datetime, end_datetime,
sequence_flat, documenttype__title, client__display_name, total, payable,
initial, net, draft, modified, created. Prepend a - to denote reverse ordering
(e.g -start_datetime).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are client__display_name, documenttype__title,
sequence__name, items__title, items__description, client_vat_number,
related_notes__notes, custom_id.

documenttype
string

Optionally filter by document type ID.

sequence
string

Optionally filter by the numbering sequence.

draft
string

Optionally filter by draft status. The available choices are: 1, 0.

client
string

Optionally filter by client ID.

currency_code
string

Optionally filter by currency code.

recurring_status
string

Optionally filter by recurring status. The available choices are: active,
paused, expired.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/recurringinvoices/
https://api.elorus.com/v1.1/recurringinvoices/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "start_datetime": "2019-01-01T06:00:00Z",
       * "interval": 1,
       * "period": "months",
       * "end_datetime": "2020-01-01T06:00:00Z",
       * "last_execution": "2019-03-01T06:00:00Z",
       * "next_execution": "2019-04-01T06:00:00Z",
       * "paused": false,
       * "representation": "01/01/19, every 1 months",
       * "documenttype": "4400000040000123",
       * "sequence": "",
       * "draft": false,
       * "auto_email": true,
       * "due_days": 0,
       * "template": 0,
       * "client": "3300000040000100",
       * "client_profession": "Digital marketing",
       * "client_vat_number": "123451234",
       * "billing_address":
         
         {
          * "address_line": "4 Catherine St.",
          * "city": "Southaven",
          * "state": "MS",
          * "zip": "38671",
          * "country": "US"
         
         },
       * "shipping_address":
         
         {
          * "address_line": "4 Catherine St.",
          * "city": "Southaven",
          * "state": "MS",
          * "zip": "38671",
          * "country": "US"
         
         },
       * "client_contact_person": "John Doe",
       * "client_phone_number": "662-222-2222",
       * "client_email": "john@doe.com",
       * "currency_code": "USD",
       * "exchange_rate": "1.000000",
       * "calculator_mode": "initial",
       * "initial": "80.00",
       * "net": "80.00",
       * "total": "100.00",
       * "payable": "100.00",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/RECURRINGINVOICES/


CREATE A NEW RECURRING INVOICE.

You must specify the recurring schedule as well as the details of the generated
invoices. As far as the schedule is concerned, you may leave the end_datetime
field blank to run the recurring procedure forever.

To better understand how the invoice fields work, you might want to have a look
at the invoice's create endpoint as well.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

start_datetime
string <date-time> (Start date)

When should the first invoice be created. Timezone information is included.

interval
integer (Interval) [ 0 .. 2147483647 ]

The recurring frequency's interval. Please see the recurring schedule for more
information.

period
string (Period)

The recurring frequency's period. Please see the recurring schedule for more
information. One of the following:

List of values

ValueDescriptiondaysDaysweeksWeeksmonthsMonths

end_datetime
required
string <date-time> (End date)

When should the last invoice be created. Leave this blank for the recurring
schedule to never expire. Timezone information is included.

paused
boolean (Paused)

While the record is paused new records will not be created.

documenttype
integer (Document type)

ID of the associated document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

draft
boolean (Draft)

Whether the generated documents will be in draft mode.

auto_email
boolean (Email created invoices to the client)

Email issued invoices to the client. Draft field needs to be false.

due_days
integer (Due days) [ 0 .. 2147483647 ] Nullable

Days after the issue date, that a commercial document will be considered
overdue. This affects the commercial document's due date. You may leave the
field blank if you do not want to apply credit.

template
integer (Template)

ID of the template that will be used to render the created invoices.

client
required
integer (Client)

ID of the associated client.

client_display_name
string (Client name) [ 1 .. 203 ] characters

If not provided, the client name will be retrieved from the specified client
contact

client_profession
string (Client profession) <= 100 characters

The client profession, as it will appear on the PDF.

client_vat_number
string (Client tax ID) <= 20 characters

The client tax ID, as it will appear on the PDF.

billing_address
object (Billing address)

The client billing address.

shipping_address
object (Shipping address)

The client shipping address.

client_contact_person
string (Contact person) <= 101 characters

The client's contact person, as it will appear on the PDF.

client_phone_number
string (Phone number) <= 30 characters

The client phone number, as it will appear on the PDF.

client_email
string <email> (Email) <= 100 characters

The client email address, as it will appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/recurringinvoices/
https://api.elorus.com/v1.1/recurringinvoices/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "start_datetime": "2019-01-01T06:00:00Z",
 * "interval": 1,
 * "period": "months",
 * "end_datetime": "2020-01-01T06:00:00Z",
 * "paused": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "draft": false,
 * "auto_email": true,
 * "due_days": 0,
 * "template": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00"
      
      }
   
   ],
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "start_datetime": "2019-01-01T06:00:00Z",
 * "interval": 1,
 * "period": "months",
 * "end_datetime": "2020-01-01T06:00:00Z",
 * "last_execution": "2019-03-01T06:00:00Z",
 * "next_execution": "2019-04-01T06:00:00Z",
 * "paused": false,
 * "representation": "01/01/19, every 1 months",
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "draft": false,
 * "auto_email": true,
 * "due_days": 0,
 * "template": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/RECURRINGINVOICES/{ID}/


GET A SINGLE RECURRING INVOICE.

Returns all available information for a specific recurring invoice.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/recurringinvoices/{id}/
https://api.elorus.com/v1.1/recurringinvoices/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "start_datetime": "2019-01-01T06:00:00Z",
 * "interval": 1,
 * "period": "months",
 * "end_datetime": "2020-01-01T06:00:00Z",
 * "last_execution": "2019-03-01T06:00:00Z",
 * "next_execution": "2019-04-01T06:00:00Z",
 * "paused": false,
 * "representation": "01/01/19, every 1 months",
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "draft": false,
 * "auto_email": true,
 * "due_days": 0,
 * "template": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/RECURRINGINVOICES/{ID}/

When changing the invoice client, all client fields will be updated based on the
new contact record, unless you explicitly specify their values.

To update the line items, the endpoint expects that you send a complete list of
the new items. For existing lines you must send over their IDs (as returned by
the retrieve endpoint) along with any possible changes. If there exist any lines
whose IDs are not sent, they will be deleted. Accordingly, lines for which you
send no ID will result in creating new items.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

start_datetime
string <date-time> (Start date)

When should the first invoice be created. Timezone information is included.

interval
integer (Interval) [ 0 .. 2147483647 ]

The recurring frequency's interval. Please see the recurring schedule for more
information.

period
string (Period)

The recurring frequency's period. Please see the recurring schedule for more
information. One of the following:

List of values

ValueDescriptiondaysDaysweeksWeeksmonthsMonths

end_datetime
required
string <date-time> (End date)

When should the last invoice be created. Leave this blank for the recurring
schedule to never expire. Timezone information is included.

paused
boolean (Paused)

While the record is paused new records will not be created.

documenttype
integer (Document type)

ID of the associated document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

draft
boolean (Draft)

Whether the generated documents will be in draft mode.

auto_email
boolean (Email created invoices to the client)

Email issued invoices to the client. Draft field needs to be false.

due_days
integer (Due days) [ 0 .. 2147483647 ] Nullable

Days after the issue date, that a commercial document will be considered
overdue. This affects the commercial document's due date. You may leave the
field blank if you do not want to apply credit.

template
integer (Template)

ID of the template that will be used to render the created invoices.

client
required
integer (Client)

ID of the associated client.

client_display_name
string (Client name) [ 1 .. 203 ] characters

If not provided, the client name will be retrieved from the specified client
contact

client_profession
string (Client profession) <= 100 characters

The client profession, as it will appear on the PDF.

client_vat_number
string (Client tax ID) <= 20 characters

The client tax ID, as it will appear on the PDF.

billing_address
object (Billing address)

The client billing address.

shipping_address
object (Shipping address)

The client shipping address.

client_contact_person
string (Contact person) <= 101 characters

The client's contact person, as it will appear on the PDF.

client_phone_number
string (Phone number) <= 30 characters

The client phone number, as it will appear on the PDF.

client_email
string <email> (Email) <= 100 characters

The client email address, as it will appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/recurringinvoices/{id}/
https://api.elorus.com/v1.1/recurringinvoices/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "start_datetime": "2019-01-01T06:00:00Z",
 * "interval": 1,
 * "period": "months",
 * "end_datetime": "2020-01-01T06:00:00Z",
 * "paused": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "draft": false,
 * "auto_email": true,
 * "due_days": 0,
 * "template": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00"
      
      }
   
   ],
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "start_datetime": "2019-01-01T06:00:00Z",
 * "interval": 1,
 * "period": "months",
 * "end_datetime": "2020-01-01T06:00:00Z",
 * "last_execution": "2019-03-01T06:00:00Z",
 * "next_execution": "2019-04-01T06:00:00Z",
 * "paused": false,
 * "representation": "01/01/19, every 1 months",
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "draft": false,
 * "auto_email": true,
 * "due_days": 0,
 * "template": 0,
 * "client": "3300000040000100",
 * "client_display_name": "Acme Inc.",
 * "client_profession": "Digital marketing",
 * "client_vat_number": "123451234",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "shipping_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "client_contact_person": "John Doe",
 * "client_phone_number": "662-222-2222",
 * "client_email": "john@doe.com",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "title": "Pair of socks",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/RECURRINGINVOICES/{ID}/


DELETE A RECURRING INVOICE.

Does not delete any documents, just the schedule that creates them.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/recurringinvoices/{id}/
https://api.elorus.com/v1.1/recurringinvoices/{id}/


BILLS

Bills typically represent invoices that you receive from suppliers.

BILL LINES

Elorus allows you to record every line of the received invoice separately. If
you do not care about the details, you may choose to store total amounts in a
single line.

SELF-BILLING

Self-billing is a commercial arrangement between a supplier and a customer in
which the customer (you) prepares the supplier's invoice and forwards a copy to
the supplier with the payment. In Elorus, self-billed invoices comprise a
special form of bills that can be exported to a PDF, and must be therefore
associated with a document type. To denote a self-billed invoice, the
self_billed flag must be used.

TRACKING CATEGORIES

Bills may be assigned custom tags. Tags are grouped under custom categories and
can help you better understand your bills. The API allows for full control over
the bill tracking.


/V1.1/BILLS/


GET THE LIST OF BILLS.

The response does not include all the bill details. To retrieve more information
about a specific bill, use the single bill endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are date, supplier__display_name,
total, initial, net, draft, paid, payable, due_date, modified, created. Prepend
a - to denote reverse ordering (e.g -date).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are supplier__display_name, supplier__vat_number,
documenttype__title, sequence__name, reference, items__product__title,
items__product__code, items__description, related_notes__notes, custom_id.

period_from
string

Optionally filter results from a date onwards. Must be used with the period_to
parameter, otherwise it won't have any effect. Date must be in the form of
YYYY-mm-dd.

period_to
string

Optionally filter results from a date backwards. Must be used with the
period_from parameter, otherwise it won't have any effect. Date must be in the
form of YYYY-mm-dd.

status
string

Optionally filter by the document's status. The available choices are: draft,
pending, issued, partial, unpaid, overdue, paid, void.

draft
string

Optionally filter by draft status. The available choices are: 1, 0.

fpaid
string

Optionally filter by whether the invoice is paid or not. The available choices
are: yes, no.

is_void
string

Optionally filter by void status. The available choices are: 1, 0.

overdue
string

Optionally filter by whether the invoice is overdue or not. The available
choices are: yes, no.

supplier
string

Optionally filter by supplier ID.

currency_code
string

Optionally filter by currency code.

documenttype
string

Optionally filter by document type ID.

self_billed
string

Optionally filter by whether the document is self-billed or not. Can be either 1
or 0. The available choices are: 1, 0.

sequence
string

Optionally filter by the numbering sequence.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/bills/
https://api.elorus.com/v1.1/bills/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "representation": "Invoice #ABC111",
       * "status": "paid",
       * "draft": false,
       * "documenttype": "",
       * "self_billed": false,
       * "sequence": "",
       * "reference": "ABC111",
       * "date": "2018-10-25",
       * "due_date": "2018-11-25",
       * "supplier": "3300000040000100",
       * "currency_code": "USD",
       * "exchange_rate": "1.000000",
       * "calculator_mode": "initial",
       * "initial": "80.00",
       * "net": "80.00",
       * "total": "100.00",
       * "payable": "100.00",
       * "paid": "100.00",
       * "permalink": "//url-for-the-client/",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/BILLS/


CREATE A NEW BILL.

To create a new bill, you must first specify the supplier. If you do not specify
the currency code, the supplier's default currency will have a higher priority
than your base currency.

BILL LINES & AMOUNTS

The bill's initial, net and total amount will be calculated automatically and
their values will depend on the calculator mode and the line items.

When it comes to the bill lines, you may associate each line with an inventory
product. In this case you can omit the description, measurement unit and value
fields to have them copied over form product record. Once again, if you choose
to explicitly specify any of these fields, you end up overriding the default
values of the product record.

Remember that if you do not care about the bill details, you can always just
send the total amounts in a single line.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

documenttype
integer (Document type) Nullable

Optionally, associate the record with a document type to denote the type of the
received document. This field is required in case of a self-billed document.

self_billed
boolean (Self-billed invoice)

Denotes whether this is a self-billed invoice. This value is auto-generated and
depends on the bill's document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

reference
string (Reference) <= 150 characters

A reference code. Usually, the document number as specified by the supplier.

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

due_days
integer (Due days) [ 0 .. 2147483647 ] Nullable

Days after the issue date, that the invoice will be considered overdue. This
affects the document's due date. Use null to not set a due date.

supplier
required
integer (Supplier)

ID of the associated supplier.

supplier_display_name
string (Supplier name) <= 203 characters

Applies only to self-billed invoices. The supplier name as it will appear on the
PDF.

supplier_profession
string (Supplier profession) <= 100 characters

Applies only to self-billed invoices. The supplier profession, as it will appear
on the PDF.

supplier_vat_number
string (Supplier tax ID) <= 20 characters

billing_address
object (Billing address)

The client billing address.

supplier_contact_person
string (Contact person) <= 101 characters

Applies only to self-billed invoices. The supplier's contact person, as it will
appear on the PDF.

supplier_phone_number
string (Phone number) <= 30 characters

Applies only to self-billed invoices. The supplier phone number, as it will
appear on the PDF.

supplier_email
string <email> (Email) <= 100 characters

Applies only to self-billed invoices. The supplier email address, as it will
appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

Line items of a bill.

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

template
integer (Template) Nullable

Applies only to self-billed invoices. The template to use when rendering to PDF.

public_notes
string (Public notes)

Applies only to self-billed invoices. These notes will appear on the PDF.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/bills/
https://api.elorus.com/v1.1/bills/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "documenttype": "",
 * "self_billed": false,
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "template": 0,
 * "public_notes": "Notes visible on the bill.",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Invoice #ABC111",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "",
 * "self_billed": false,
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "public_notes": "Notes visible on the bill.",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/BILLS/{ID}/


GET A SINGLE BILL.

Returns all available information for a specific bill.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/bills/{id}/
https://api.elorus.com/v1.1/bills/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Invoice #ABC111",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "",
 * "self_billed": false,
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "public_notes": "Notes visible on the bill.",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/BILLS/{ID}/


UPDATE A BILL.

You must send all required fields for the record to be successfully updated. You
may only modify draft bills. To update issued bills, you should first mark them
as draft via the partial update endpoint.

To update the line items, the endpoint expects that you send a complete list of
the new items. For existing lines you must send over their IDs (as returned by
the retrieve endpoint) along with any possible changes. If there exist any lines
whose IDs are not sent, they will be deleted. Accordingly, lines for which you
send no ID will result in creating new items.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

documenttype
integer (Document type) Nullable

Optionally, associate the record with a document type to denote the type of the
received document. This field is required in case of a self-billed document.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

reference
string (Reference) <= 150 characters

A reference code. Usually, the document number as specified by the supplier.

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

due_days
integer (Due days) [ 0 .. 2147483647 ] Nullable

Days after the issue date, that the invoice will be considered overdue. This
affects the document's due date. Use null to not set a due date.

supplier
required
integer (Supplier)

ID of the associated supplier.

supplier_display_name
string (Supplier name) <= 203 characters

Applies only to self-billed invoices. The supplier name as it will appear on the
PDF.

supplier_profession
string (Supplier profession) <= 100 characters

Applies only to self-billed invoices. The supplier profession, as it will appear
on the PDF.

supplier_vat_number
string (Supplier tax ID) <= 20 characters

billing_address
object (Billing address)

The client billing address.

supplier_contact_person
string (Contact person) <= 101 characters

Applies only to self-billed invoices. The supplier's contact person, as it will
appear on the PDF.

supplier_phone_number
string (Phone number) <= 30 characters

Applies only to self-billed invoices. The supplier phone number, as it will
appear on the PDF.

supplier_email
string <email> (Email) <= 100 characters

Applies only to self-billed invoices. The supplier email address, as it will
appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

Line items of a bill.

initial
string (Initial value)

Total initial value, before any discount is applied. Automatically calculated
amount. Decimal rendered as string, with the . character used as a floating
point. Up to 2 decimal places.

net
string (Net value)

Total net value, before any taxes are applied. Automatically calculated amount.
Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.

total
string (Total value)

Automatically calculated amount. Decimal rendered as string, with the .
character used as a floating point. Up to 2 decimal places.

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

payable
string (Payable)

Total payable amount. Automatically calculated amount. This amount may differ
from the total amount in case withholding taxes have been applied. Decimal
rendered as string, with the . character used as a floating point. Up to 2
decimal places.

template
integer (Template) Nullable

Applies only to self-billed invoices. The template to use when rendering to PDF.

public_notes
string (Public notes)

Applies only to self-billed invoices. These notes will appear on the PDF.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/bills/{id}/
https://api.elorus.com/v1.1/bills/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "documenttype": "",
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "template": 0,
 * "public_notes": "Notes visible on the bill.",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Invoice #ABC111",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "",
 * "self_billed": false,
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "due_days": 0,
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "public_notes": "Notes visible on the bill.",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/BILLS/{ID}/


PARTIALLY UPDATE A BILL.

Since this method does not modify the line items and amounts you can always use
it regardless the bill status. On the other hand, the full update action is only
applicable to draft bills.

Please note that you cannot mark void bills as draft, unless you un-void them
first.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

exchange_rate
string (Exchange rate)

Decimal rendered as string, with the . character used as a floating point. Up to
6 decimal places.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

patch/v1.1/bills/{id}/
https://api.elorus.com/v1.1/bills/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "exchange_rate": "1.000000",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Invoice #ABC111",
 * "status": "paid",
 * "draft": false,
 * "exchange_rate": "1.000000",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/BILLS/{ID}/


DELETE A BILL.

Note that you cannot delete bills marked as issued (i.e. the draft field is set
to false).

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/bills/{id}/
https://api.elorus.com/v1.1/bills/{id}/


/V1.1/BILLS/{ID}/PDF/


GET THE DOCUMENT AS PDF.

Only self-billed invoices will be printed out to PDF.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200

The pdf file

403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/bills/{id}/pdf/
https://api.elorus.com/v1.1/bills/{id}/pdf/


/V1.1/BILLS/{ID}/VOID/

Mark the document as void or convert it from void back to issued.

Notice that when you mark a document as void:

 * It must already be issued.
 * It remains in the system for future reference, but is not involved in Elorus
   reports.
 * The sign "Void" appears for both the document entry inside the system and the
   printable version of it.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



void
boolean (Void)

Whether to void or un-void the document.If not sent, true will be assumed.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/bills/{id}/void/
https://api.elorus.com/v1.1/bills/{id}/void/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "void": true

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "status": "paid"

}


SUPPLIER CREDITS

Supplier credits typically represent credit notes that you receive from
suppliers.

SUPPLIER CREDIT LINES

Elorus allows you to record every line of the received credit note separately.
If you do not care about the details, you may choose to store total amounts in a
single line.

TRACKING CATEGORIES

Supplier credits may be assigned custom tags. Tags are grouped under custom
categories and can help you better understand your purchases. The API allows for
full control over the supplier credit tracking.


/V1.1/SUPPLIERCREDITS/


GET THE LIST OF SUPPLIER CREDITS.

The response does not include all the supplier credit details. To retrieve more
information about a specific record, use the single supplier credit endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are date, supplier__display_name,
total, initial, net, draft, paid, payable, modified, created. Prepend a - to
denote reverse ordering (e.g -date).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are supplier__display_name, supplier__vat_number,
documenttype__title, sequence__name, reference, items__product__title,
items__product__code, items__description, related_notes__notes, custom_id.

period_from
string

Optionally filter results from a date onwards. Must be used with the period_to
parameter, otherwise it won't have any effect. Date must be in the form of
YYYY-mm-dd.

period_to
string

Optionally filter results from a date backwards. Must be used with the
period_from parameter, otherwise it won't have any effect. Date must be in the
form of YYYY-mm-dd.

status
string

Optionally filter by the document's status. The available choices are: draft,
pending, issued, partial, unpaid, paid, void.

draft
string

Optionally filter by draft status. The available choices are: 1, 0.

fpaid
string

Optionally filter by whether the invoice is paid or not. The available choices
are: yes, no.

is_void
string

Optionally filter by void status. The available choices are: 1, 0.

supplier
string

Optionally filter by supplier ID.

currency_code
string

Optionally filter by currency code.

documenttype
string

Optionally filter by document type ID.

self_billed
string

Optionally filter by whether the document is self-billed or not. Can be either 1
or 0. The available choices are: 1, 0.

sequence
string

Optionally filter by the numbering sequence.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/suppliercredits/
https://api.elorus.com/v1.1/suppliercredits/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "representation": "Credit note #ABC111",
       * "status": "paid",
       * "draft": false,
       * "documenttype": "4400000040000123",
       * "self_billed": false,
       * "sequence": "",
       * "reference": "ABC111",
       * "date": "2018-10-25",
       * "supplier": "3300000040000100",
       * "currency_code": "USD",
       * "exchange_rate": "1.000000",
       * "calculator_mode": "initial",
       * "initial": "80.00",
       * "net": "80.00",
       * "total": "100.00",
       * "payable": "100.00",
       * "paid": "100.00",
       * "permalink": "//url-for-the-client/",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/SUPPLIERCREDITS/


CREATE A NEW SUPPLIER CREDIT.

To create a new supplier credit, you must first specify the supplier. If you do
not specify the currency code, the supplier's default currency will have a
higher priority than your base currency.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

documenttype
integer (Document type) Nullable

Optionally, associate the record with a document type to denote the type of the
received document. This field is required in case of a self-billed document.

self_billed
boolean (Self-billed invoice)

Denotes whether this is a self-billed invoice. This value is auto-generated and
depends on the bill's document type.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

reference
string (Reference) <= 150 characters

A reference code. Usually, the document number as specified by the supplier.

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

supplier
required
integer (Supplier)

ID of the associated supplier.

supplier_display_name
string (Supplier name) <= 203 characters

Applies only to self-billed invoices. The supplier name as it will appear on the
PDF.

supplier_profession
string (Supplier profession) <= 100 characters

Applies only to self-billed invoices. The supplier profession, as it will appear
on the PDF.

supplier_vat_number
string (Supplier tax ID) <= 20 characters

billing_address
object (Billing address)

The client billing address.

supplier_contact_person
string (Contact person) <= 101 characters

Applies only to self-billed invoices. The supplier's contact person, as it will
appear on the PDF.

supplier_phone_number
string (Phone number) <= 30 characters

Applies only to self-billed invoices. The supplier phone number, as it will
appear on the PDF.

supplier_email
string <email> (Email) <= 100 characters

Applies only to self-billed invoices. The supplier email address, as it will
appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

Line items of a supplier credit.

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

template
integer (Template) Nullable

Applies only to self-billed invoices. The template to use when rendering to PDF.

public_notes
string (Public notes)

Applies only to self-billed invoices. These notes will appear on the PDF.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.

related_documents
Array of integers (Related documents)

A list of invoice IDs linked to this credit document. This information is solely
for display purposes, it will appear on the PDF


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/suppliercredits/
https://api.elorus.com/v1.1/suppliercredits/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "self_billed": false,
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "template": 0,
 * "public_notes": "string",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Credit note #ABC111",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "self_billed": false,
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "public_notes": "string",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/SUPPLIERCREDITS/{ID}/


GET A SINGLE SUPPLIER CREDIT.

Returns all available information for a specific supplier credit.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/suppliercredits/{id}/
https://api.elorus.com/v1.1/suppliercredits/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Credit note #ABC111",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "self_billed": false,
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "public_notes": "string",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/SUPPLIERCREDITS/{ID}/


UPDATE A SUPPLIER CREDIT.

You must send all required fields for the record to be successfully updated. You
may only modify draft supplier credits.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

documenttype
integer (Document type) Nullable

Optionally, associate the record with a document type to denote the type of the
received document. This field is required in case of a self-billed document.

sequence
string (Sequence) Nullable

ID of the associated numbering sequence.

reference
string (Reference) <= 150 characters

A reference code. Usually, the document number as specified by the supplier.

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

supplier
required
integer (Supplier)

ID of the associated supplier.

supplier_display_name
string (Supplier name) <= 203 characters

Applies only to self-billed invoices. The supplier name as it will appear on the
PDF.

supplier_profession
string (Supplier profession) <= 100 characters

Applies only to self-billed invoices. The supplier profession, as it will appear
on the PDF.

supplier_vat_number
string (Supplier tax ID) <= 20 characters

billing_address
object (Billing address)

The client billing address.

supplier_contact_person
string (Contact person) <= 101 characters

Applies only to self-billed invoices. The supplier's contact person, as it will
appear on the PDF.

supplier_phone_number
string (Phone number) <= 30 characters

Applies only to self-billed invoices. The supplier phone number, as it will
appear on the PDF.

supplier_email
string <email> (Email) <= 100 characters

Applies only to self-billed invoices. The supplier email address, as it will
appear on the PDF.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

Line items of a supplier credit.

initial
string (Initial value)

Total initial value, before any discount is applied. Automatically calculated
amount. Decimal rendered as string, with the . character used as a floating
point. Up to 2 decimal places.

net
string (Net value)

Total net value, before any taxes are applied. Automatically calculated amount.
Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.

total
string (Total value)

Automatically calculated amount. Decimal rendered as string, with the .
character used as a floating point. Up to 2 decimal places.

withholding_taxes
Array of integers (Withholding taxes)

A list of withholding tax IDs to be applied.

payable
string (Payable)

Total payable amount. Automatically calculated amount. This amount may differ
from the total amount in case withholding taxes have been applied. Decimal
rendered as string, with the . character used as a floating point. Up to 2
decimal places.

template
integer (Template) Nullable

Applies only to self-billed invoices. The template to use when rendering to PDF.

public_notes
string (Public notes)

Applies only to self-billed invoices. These notes will appear on the PDF.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.

related_documents
Array of integers (Related documents)

A list of invoice IDs linked to this credit document. This information is solely
for display purposes, it will appear on the PDF


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/suppliercredits/{id}/
https://api.elorus.com/v1.1/suppliercredits/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "template": 0,
 * "public_notes": "string",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Credit note #ABC111",
 * "status": "paid",
 * "draft": false,
 * "documenttype": "4400000040000123",
 * "self_billed": false,
 * "sequence": "",
 * "reference": "ABC111",
 * "date": "2018-10-25",
 * "supplier": "3300000040000100",
 * "supplier_display_name": "",
 * "supplier_profession": "",
 * "supplier_vat_number": "",
 * "billing_address":
   
   {
    * "address_line": "4 Catherine St.",
    * "city": "Southaven",
    * "state": "MS",
    * "zip": "38671",
    * "country": "US"
   
   },
 * "supplier_contact_person": "",
 * "supplier_phone_number": "",
 * "supplier_email": "",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "product": "9900000040000600",
       * "description": "Super-cool expensive socks!",
       * "quantity": "2.00",
       * "unit_measure": "0",
       * "unit_value": "40.00",
       * "unit_discount": "0.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "unit_total": "50.00",
       * "item_net": "80.00",
       * "project": "0116700303010117",
       * "billable": true,
       * "expense_category": "4416700785030129"
      
      }
   
   ],
 * "initial": "80.00",
 * "net": "80.00",
 * "total": "100.00",
 * "withholding_taxes":
   
   [
    * "6600230050000704"
   
   ],
 * "payable": "100.00",
 * "paid": "100.00",
 * "template": 0,
 * "public_notes": "string",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "related_documents":
   
   [
    * "4400230020000542"
   
   ],
 * "permalink": "//url-for-the-client/",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/SUPPLIERCREDITS/{ID}/


PARTIALLY UPDATE A SUPPLIER CREDIT.

You may modify even issued supplier credits.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

draft
boolean (Draft)

If true the document is considered to be a work in progress.

exchange_rate
string (Exchange rate)

Decimal rendered as string, with the . character used as a floating point. Up to
6 decimal places.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

patch/v1.1/suppliercredits/{id}/
https://api.elorus.com/v1.1/suppliercredits/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "draft": false,
 * "exchange_rate": "1.000000",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Credit note #ABC111",
 * "status": "paid",
 * "draft": false,
 * "exchange_rate": "1.000000",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/SUPPLIERCREDITS/{ID}/


DELETE A SUPPLIER CREDIT.

Note that you cannot delete supplier credits marked as issued (i.e. the draft
field is set to false).

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/suppliercredits/{id}/
https://api.elorus.com/v1.1/suppliercredits/{id}/


/V1.1/SUPPLIERCREDITS/{ID}/EMAIL/


EMAIL THE DOCUMENT TO A CLIENT.

You may retrieve the default email subject, message etc. with a GET request. Use
the POST request to queue the email for sending. In most cases you want to send
the data exactly as returned by the GET action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/suppliercredits/{id}/email/
https://api.elorus.com/v1.1/suppliercredits/{id}/email/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "cc": "accounting@doe.com",
 * "bcc": "someone-else@example.com",
 * "reply_to": "john@doe.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "sender_name": "string"

}


/V1.1/SUPPLIERCREDITS/{ID}/EMAIL/


EMAIL THE DOCUMENT TO A CLIENT.

You may retrieve the default email subject, message etc. with a GET request. Use
the POST request to queue the email for sending. In most cases you want to send
the data exactly as returned by the GET action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



to
required
string <email> (To) non-empty

The recipient email address.

store_to
boolean (Store recipient)

Store the recipient address on the client contact for future use.

cc
required
Array of strings <email>

A list of email addresses to carbon-copy the email to.

bcc
required
Array of strings <email>

A list of email addresses to blind carbon-copy the email to.

subject
required
string (Subject) [ 1 .. 255 ] characters

The email subject.

message
required
string (Message) non-empty

The email message. May contain html.

attach_pdf
required
boolean (Attach PDF)

Whether to include the PDF version of the document as attachment or not.

sender_name
string (Sender name) [ 1 .. 70 ] characters

Sender display name

attachments
required
Array of integers (Attachments)

A list of self-billed supplier credit attachment IDs to attach in the email


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/suppliercredits/{id}/email/
https://api.elorus.com/v1.1/suppliercredits/{id}/email/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "store_to": true,
 * "cc":
   
   [
    * "accounting@doe.com"
   
   ],
 * "bcc": "someone-else@example.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "attach_pdf": true,
 * "sender_name": "string",
 * "attachments":
   
   [
    * "1050000300010040"
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "to": "someone@example.com",
 * "store_to": true,
 * "cc":
   
   [
    * "accounting@doe.com"
   
   ],
 * "bcc": "someone-else@example.com",
 * "reply_to": "john@doe.com",
 * "subject": "The email subject",
 * "message": "Hello,<br/>please find the PDF attached.",
 * "attach_pdf": true,
 * "sender_name": "string",
 * "attachments":
   
   [
    * "1050000300010040"
   
   ]

}


/V1.1/SUPPLIERCREDITS/{ID}/PDF/


GET THE DOCUMENT AS PDF.

Only self-billed invoices will be printed out to PDF.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200

The pdf file

403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/suppliercredits/{id}/pdf/
https://api.elorus.com/v1.1/suppliercredits/{id}/pdf/


/V1.1/SUPPLIERCREDITS/{ID}/VOID/

Mark the document as void or convert it from void back to issued.

Notice that when you mark a document as void:

 * It must already be issued.
 * It remains in the system for future reference, but is not involved in Elorus
   reports.
 * The sign "Void" appears for both the document entry inside the system and the
   printable version of it.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



void
boolean (Void)

Whether to void or un-void the document.If not sent, true will be assumed.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/suppliercredits/{id}/void/
https://api.elorus.com/v1.1/suppliercredits/{id}/void/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "void": true

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "status": "paid"

}


/V1.1/SUPPLIERCREDITS/{PARENT_PK}/APPLIED-CREDIT/


GET THE APPLIED CREDIT.

The list of credit applied to bills.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

parent_pk
required
string


QUERY PARAMETERS

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/suppliercredits/{parent_pk}/applied-credit/
https://api.elorus.com/v1.1/suppliercredits/{parent_pk}/applied-credit/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "representation": "Credit applied to Bill",
       * "purchase": "1234000300011234",
       * "date": "2018-10-25",
       * "currency_code": "USD",
       * "amount": "100.00",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/SUPPLIERCREDITS/{PARENT_PK}/APPLIED-CREDIT/


BULK APPLY CREDIT.

Apply all or part of the remaining credit to a list of bills. The supplier
credit's supplier and currency code must match the bill's corresponding values.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

parent_pk
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



purchase
required
integer (Bill)

ID of the associated bill.

amount
required
string (Amount)

Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/suppliercredits/{parent_pk}/applied-credit/
https://api.elorus.com/v1.1/suppliercredits/{parent_pk}/applied-credit/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "purchase": "1234000300011234",
 * "amount": "100.00"

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "representation": "Credit applied to Bill",
 * "purchase": "1234000300011234",
 * "date": "2018-10-25",
 * "currency_code": "USD",
 * "amount": "100.00",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/SUPPLIERCREDITS/{PARENT_PK}/APPLIED-CREDIT/{ID}/


DELETE APPLIED CREDIT.

Deleting applied credit will just detach the credit from the related bill. The
endpoint's record ID does not refer to the bill ID, rather than the credit
record's ID, returned by the list action.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string

parent_pk
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/suppliercredits/{parent_pk}/applied-credit/{id}/
https://api.elorus.com/v1.1/suppliercredits/{parent_pk}/applied-credit/{id}/


EXPENSES

Expenses typically represent already paid bills. Expenses may optionally be
associated with a supplier.

EXPENSE LINES

Elorus allows you to record every expense line separately. If you do not care
about the details, you may choose to store total amounts in a single line.

TRACKING CATEGORIES

Expenses may be assigned custom tags. Tags are grouped under custom categories
and can help you better understand your purchases. The API allows for full
control over the expense tracking.


/V1.1/EXPENSES/


GET THE LIST OF EXPENSES.

The response does not include all the expense details. To retrieve more
information about a specific expense, use the single expense endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are date, supplier__display_name,
net, total, created, modified, modified, created. Prepend a - to denote reverse
ordering (e.g -date).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are supplier__display_name, reference,
items__description, supplier__vat_number, related_notes__notes, custom_id.

period_from
string

Optionally filter results from a date onwards. Must be used with the period_to
parameter, otherwise it won't have any effect. Date must be in the form of
YYYY-mm-dd.

period_to
string

Optionally filter results from a date backwards. Must be used with the
period_from parameter, otherwise it won't have any effect. Date must be in the
form of YYYY-mm-dd.

supplier
string

Optionally filter by supplier ID.

currency_code
string

Optionally filter by currency code.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/expenses/
https://api.elorus.com/v1.1/expenses/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "representation": "Jan 28, 2019",
       * "date": "2019-01-28",
       * "reference": "ABC111",
       * "supplier": "3300000040000100",
       * "currency_code": "USD",
       * "exchange_rate": "1.000000",
       * "calculator_mode": "initial",
       * "net": "80.00",
       * "total": "100.00",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/EXPENSES/


CREATE A NEW EXPENSE.

EXPENSE LINES & AMOUNTS

The expense's net and total amount will be calculated automatically and their
values will depend on the calculator mode and the line items.

Remember that if you do not care about the expense details, you can always just
send the total amounts in a single line.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

reference
string (Reference) <= 150 characters

A reference code. Usually, the document number as specified by the supplier.

supplier
integer (Supplier) Nullable

ID of the associated supplier.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

Line items of an expense.

net
string (Net value)

Total net value, before any taxes are applied. Automatically calculated amount.
Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.

total
string (Total value)

Automatically calculated amount. Decimal rendered as string, with the .
character used as a floating point. Up to 2 decimal places.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/expenses/
https://api.elorus.com/v1.1/expenses/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "date": "2019-01-28",
 * "reference": "ABC111",
 * "supplier": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "expense_category": "4416700785030129",
       * "description": "Some text here",
       * "amount": "100.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "project": "0116700303010117",
       * "billable": true
      
      }
   
   ],
 * "net": "80.00",
 * "total": "100.00",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Jan 28, 2019",
 * "date": "2019-01-28",
 * "reference": "ABC111",
 * "supplier": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "expense_category": "4416700785030129",
       * "description": "Some text here",
       * "amount": "100.00",
       * "item_net": "80.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "project": "0116700303010117",
       * "billable": true
      
      }
   
   ],
 * "net": "80.00",
 * "total": "100.00",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/EXPENSES/{ID}/


GET A SINGLE EXPENSE.

Returns all available information for a specific expense.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/expenses/{id}/
https://api.elorus.com/v1.1/expenses/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Jan 28, 2019",
 * "date": "2019-01-28",
 * "reference": "ABC111",
 * "supplier": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "expense_category": "4416700785030129",
       * "description": "Some text here",
       * "amount": "100.00",
       * "item_net": "80.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "project": "0116700303010117",
       * "billable": true
      
      }
   
   ],
 * "net": "80.00",
 * "total": "100.00",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/EXPENSES/{ID}/

To update the line items, the endpoint expects that you send a complete list of
the new items. For existing lines you must send over their IDs (as returned by
the retrieve endpoint) along with any possible changes. If there exist any lines
whose IDs are not sent, they will be deleted. Accordingly, lines for which you
send no ID will result in creating new items.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

date
string <date> (Date)

The issue date. Date is in the form of YYYY-mm-dd.

reference
string (Reference) <= 150 characters

A reference code. Usually, the document number as specified by the supplier.

supplier
integer (Supplier) Nullable

ID of the associated supplier.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Automatically calculate / correct document values based on the specified
calculation mode. One of the following:

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

items
required
Array of objects (Line items)

Line items of an expense.

net
string (Net value)

Total net value, before any taxes are applied. Automatically calculated amount.
Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.

total
string (Total value)

Automatically calculated amount. Decimal rendered as string, with the .
character used as a floating point. Up to 2 decimal places.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/expenses/{id}/
https://api.elorus.com/v1.1/expenses/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "date": "2019-01-28",
 * "reference": "ABC111",
 * "supplier": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "expense_category": "4416700785030129",
       * "description": "Some text here",
       * "amount": "100.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "project": "0116700303010117",
       * "billable": true
      
      }
   
   ],
 * "net": "80.00",
 * "total": "100.00",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "representation": "Jan 28, 2019",
 * "date": "2019-01-28",
 * "reference": "ABC111",
 * "supplier": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "items":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "expense_category": "4416700785030129",
       * "description": "Some text here",
       * "amount": "100.00",
       * "item_net": "80.00",
       * "taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "project": "0116700303010117",
       * "billable": true
      
      }
   
   ],
 * "net": "80.00",
 * "total": "100.00",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/EXPENSES/{ID}/


DELETE AN EXPENSE.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/expenses/{id}/
https://api.elorus.com/v1.1/expenses/{id}/


PROJECTS

Projects are a set of activities that lead to an agreed outcome. There may be
one or more teammates assigned to each project, bound to devote their time in
accomplishing different tasks.

Elorus helps you track time spent, calculate labor costs as well as other
expenses you may have added. At the same time, rates per hour allow you to
seamlessly invoice your clients while you can check how much you have spent and
what you are about to make at any given time.


/V1.1/PROJECTS/

Get the list of projects.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are name, client__display_name,
created, modified. Prepend a - to denote reverse ordering (e.g -name).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are name, description, related_notes__notes.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

client
string

Optionally filter by client ID.

billing_method
string

Optional filter. The available choices are: fixed_cost, project_rate, task_rate,
assignee_rate, non_billable.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/projects/
https://api.elorus.com/v1.1/projects/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "2491779625215068122",
       * "name": "Web development",
       * "description": "Implementation",
       * "client": "3300000040000100",
       * "billing_method": "fixed_cost",
       * "fixed_cost": "500.00",
       * "hourly_rate": "",
       * "active": true,
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/PROJECTS/{ID}/

Get a single project.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/projects/{id}/
https://api.elorus.com/v1.1/projects/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "2491779625215068122",
 * "name": "Web development",
 * "description": "Implementation",
 * "client": "3300000040000100",
 * "billing_method": "fixed_cost",
 * "fixed_cost": "500.00",
 * "hourly_rate": "",
 * "members":
   
   [
    * 
      {
       * "id": "2491779625240233426",
       * "member": "2425464503039689881",
       * "manager": false,
       * "cost_per_hour": "50.00"
      
      }
   
   ],
 * "active": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


PAYMENTS RECEIVED

Payments received represent money that you receive in the context of a single
transaction. They can be either a client payment, a supplier refund, other
income or other payments (for more information, please see the Elorus
documentation).

TRACKING CATEGORIES

Payments received may be assigned custom tags. Tags are grouped under custom
categories and can help you better understand your cash flow. The API allows for
full control over the payments received tracking.


/V1.1/CASHRECEIPTS/


GET THE LIST OF PAYMENTS RECEIVED.

The response does not include all the payments received details. To retrieve
more information about a specific payment received, use the single payments
received endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are date, amount,
contact__display_name, modified, created. Prepend a - to denote reverse ordering
(e.g -date).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title, contact__display_name, date,
contact__vat_number, related_notes__notes, custom_id.

period_from
string

Optionally filter results from a date onwards. Must be used with the period_to
parameter, otherwise it won't have any effect. Date must be in the form of
YYYY-mm-dd.

period_to
string

Optionally filter results from a date backwards. Must be used with the
period_from parameter, otherwise it won't have any effect. Date must be in the
form of YYYY-mm-dd.

contact
string

Optionally filter by contact ID.

currency_code
string

Optionally filter by currency code.

transaction_type
string

Optionally filter by transaction type. Either dp, ip or cnp

invoice
string

Optionally filter by invoice ID.

purchasecreditnote
string

Optionally filter by supplier credit ID.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/cashreceipts/
https://api.elorus.com/v1.1/cashreceipts/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "transaction_type": "ip",
       * "income_type": "",
       * "title": "An invoice payment",
       * "date": "2018-10-25",
       * "contact": "3300000040000100",
       * "currency_code": "USD",
       * "exchange_rate": "1.000000",
       * "amount": "100.00",
       * "invoice_payments":
         
         [
          * 
            {
             * "invoice": "8800000040088865",
             * "amount": "100.00"
            
            }
         
         ],
       * "purchasecreditnote_payments": [ ],
       * "payment_gateway": "null",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/CASHRECEIPTS/


CREATE A NEW PAYMENT RECEIVED.

Please notice that in invoice_payments array the "amount" stands for the amount
of money that you assigned to that specific invoice from the payment received
"amount" field, and it does not refer to the invoice total cost, since Elorus
already knows that number.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

transaction_type
required
string (Transaction type)

One of the following:

List of values

ValueDescriptiondpOther paymentsipClient paymentcnpSupplier refundicmIncome

income_type
string (Income type)

Applies only to "Income" transactions. One of the following or blank (empty
string):

List of values

ValueDescriptioncontractContract incomerentalRental incomeother_incomeOther
income

title
string (Reason) <= 255 characters

Short description / reason.

date
string <date> (Date)

Date is in the form of YYYY-mm-dd.

contact
required
integer (From)

ID of the associated contact.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Applies only to "Income" transactions and dictates how amounts will be
calculated if there exist associated taxes. One of the following or blank (empty
string):

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

taxes
Array of integers (Taxes)

A list of the applied tax IDs. Applies only to "Income" transactions.

amount
required
string (Amount)

Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.

invoice_payments
Array of objects (Client payments)

A list of the invoices paid via this transaction. Applies to "Client payment"
transactions.

purchasecreditnote_payments
Array of objects (Supplier refunds)

A list of the purchase credit notes paid via this transaction. Applies to
"Supplier refund" transactions.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/cashreceipts/
https://api.elorus.com/v1.1/cashreceipts/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "income_type": "",
 * "title": "An invoice payment",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "amount": "100.00",
 * "invoice_payments":
   
   [
    * 
      {
       * "invoice": "8800000040088865",
       * "amount": "100.00"
      
      }
   
   ],
 * "purchasecreditnote_payments": [ ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "income_type": "",
 * "title": "An invoice payment",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "net": "80.00",
 * "taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "amount": "100.00",
 * "invoice_payments":
   
   [
    * 
      {
       * "invoice": "8800000040088865",
       * "amount": "100.00"
      
      }
   
   ],
 * "purchasecreditnote_payments": [ ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CASHRECEIPTS/{ID}/


GET A SINGLE PAYMENT RECEIVED.

Returns all available information for a specific payment received.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/cashreceipts/{id}/
https://api.elorus.com/v1.1/cashreceipts/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "income_type": "",
 * "title": "An invoice payment",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "net": "80.00",
 * "taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "amount": "100.00",
 * "invoice_payments":
   
   [
    * 
      {
       * "invoice": "8800000040088865",
       * "amount": "100.00"
      
      }
   
   ],
 * "purchasecreditnote_payments": [ ],
 * "payment_gateway": "null",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CASHRECEIPTS/{ID}/


UPDATE A PAYMENT RECEIVED.

When updating invoice payments or supplier credit payments, you will not be able
to change the associated contact or the currency code. In addition, the
transaction type cannot be modified.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

transaction_type
string (Transaction type)

One of the following:

List of values

ValueDescriptiondpOther paymentsipClient paymentcnpSupplier refundicmIncome

income_type
string (Income type)

Applies only to "Income" transactions. One of the following or blank (empty
string):

List of values

ValueDescriptioncontractContract incomerentalRental incomeother_incomeOther
income

title
string (Reason) <= 255 characters

Short description / reason.

date
string <date> (Date)

Date is in the form of YYYY-mm-dd.

contact
required
integer (From)

ID of the associated contact.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

calculator_mode
string (Value calculator mode)

Applies only to "Income" transactions and dictates how amounts will be
calculated if there exist associated taxes. One of the following or blank (empty
string):

List of values

ValueDescriptioninitialTax exclusivetotalTax inclusive

taxes
Array of integers (Taxes)

A list of the applied tax IDs. Applies only to "Income" transactions.

amount
string (Amount)

Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.

invoice_payments
Array of objects (Client payments)

A list of the invoices paid via this transaction. Applies to "Client payment"
transactions.

purchasecreditnote_payments
Array of objects (Supplier refunds)

A list of the purchase credit notes paid via this transaction. Applies to
"Supplier refund" transactions.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/cashreceipts/{id}/
https://api.elorus.com/v1.1/cashreceipts/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "income_type": "",
 * "title": "An invoice payment",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "amount": "100.00",
 * "invoice_payments":
   
   [
    * 
      {
       * "invoice": "8800000040088865",
       * "amount": "100.00"
      
      }
   
   ],
 * "purchasecreditnote_payments": [ ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "income_type": "",
 * "title": "An invoice payment",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "currency_code": "USD",
 * "exchange_rate": "1.000000",
 * "calculator_mode": "initial",
 * "net": "80.00",
 * "taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "amount": "100.00",
 * "invoice_payments":
   
   [
    * 
      {
       * "invoice": "8800000040088865",
       * "amount": "100.00"
      
      }
   
   ],
 * "purchasecreditnote_payments": [ ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CASHRECEIPTS/{ID}/


DELETE A PAYMENT RECEIVED.

Deleting an invoice payment may result in changing the invoice's status. For
example, if the invoice was marked as 'paid' it will now revert to 'issued' or
'partially paid'.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/cashreceipts/{id}/
https://api.elorus.com/v1.1/cashreceipts/{id}/


PAYMENTS SENT

Payments sent represent money that you sent in the context of a single
transaction. They can be either a supplier payment, a client refund or other
payments (for more information, please see the Elorus documentation).

TRACKING CATEGORIES

Payments sent may be assigned custom tags. Tags are grouped under custom
categories and can help you better understand your cash flow. The API allows for
full control over the payments sent tracking.


/V1.1/CASHPAYMENTS/


GET THE LIST OF PAYMENTS SENT.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are date, amount,
contact__display_name, modified, created. Prepend a - to denote reverse ordering
(e.g -date).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title, contact__display_name, date,
contact__vat_number, related_notes__notes, custom_id.

period_from
string

Optionally filter results from a date onwards. Must be used with the period_to
parameter, otherwise it won't have any effect. Date must be in the form of
YYYY-mm-dd.

period_to
string

Optionally filter results from a date backwards. Must be used with the
period_from parameter, otherwise it won't have any effect. Date must be in the
form of YYYY-mm-dd.

contact
string

Optionally filter by contact ID.

currency_code
string

Optionally filter by currency code.

transaction_type
string

Optionally filter by transaction type. Either dp, ip or cnp

purchase
string

Optionally filter by bill ID.

creditnote
string

Optionally filter by credit note ID.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/cashpayments/
https://api.elorus.com/v1.1/cashpayments/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "transaction_type": "ip",
       * "title": "A supplier invoice payment",
       * "amount": "100.00",
       * "exchange_rate": "1.000000",
       * "currency_code": "USD",
       * "date": "2018-10-25",
       * "contact": "3300000040000100",
       * "purchase_payments":
         
         [
          * 
            {
             * "purchase": "8800000040088865",
             * "amount": "80"
            
            }
         
         ],
       * "creditnote_payments":
         
         [
          * 
            {
             * "creditnote": "1050000300010040",
             * "amount": "20"
            
            }
         
         ],
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/CASHPAYMENTS/


CREATE A NEW PAYMENT SENT.

Whenever you send money to suppliers or clients (e.g., to pay a supplier
invoice), you can create a “Payment sent” record to represent the transaction.
Payments sent are divided into three types:

 * Supplier Payment
 * Client Refund
 * Other payment

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

transaction_type
required
string (Transaction type)

One of the following:

List of values

ValueDescriptiondpOther paymentsipSupplier paymentcnpClient refund

title
string (Reason) <= 255 characters

Short description / reason.

amount
required
string (Amount)

Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

date
string <date> (Date)

Date is in the form of YYYY-mm-dd.

contact
required
integer (To)

ID of the associated contact.

purchase_payments
Array of objects (Supplier payments)

A list of the bills paid via this transaction. Applies to "Supplier payment"
transactions.

creditnote_payments
Array of objects (Client refunds)

A list of the credit notes paid via this transaction. Applies to "Client refund"
transactions.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/cashpayments/
https://api.elorus.com/v1.1/cashpayments/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "title": "A supplier invoice payment",
 * "amount": "100.00",
 * "exchange_rate": "1.000000",
 * "currency_code": "USD",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "purchase_payments":
   
   [
    * 
      {
       * "purchase": "8800000040088865",
       * "amount": "80"
      
      }
   
   ],
 * "creditnote_payments":
   
   [
    * 
      {
       * "creditnote": "1050000300010040",
       * "amount": "20"
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "title": "A supplier invoice payment",
 * "amount": "100.00",
 * "exchange_rate": "1.000000",
 * "currency_code": "USD",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "purchase_payments":
   
   [
    * 
      {
       * "purchase": "8800000040088865",
       * "amount": "80"
      
      }
   
   ],
 * "creditnote_payments":
   
   [
    * 
      {
       * "creditnote": "1050000300010040",
       * "amount": "20"
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CASHPAYMENTS/{ID}/


GET A SINGLE PAYMENT SENT.

Returns all available information for a specific payment sent.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/cashpayments/{id}/
https://api.elorus.com/v1.1/cashpayments/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "title": "A supplier invoice payment",
 * "amount": "100.00",
 * "exchange_rate": "1.000000",
 * "currency_code": "USD",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "purchase_payments":
   
   [
    * 
      {
       * "purchase": "8800000040088865",
       * "amount": "80"
      
      }
   
   ],
 * "creditnote_payments":
   
   [
    * 
      {
       * "creditnote": "1050000300010040",
       * "amount": "20"
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CASHPAYMENTS/{ID}/


UPDATE A PAYMENT SENT.

When updating credit note or bill payments , you will not be able to change the
associated contact or the currency code. In addition, the transaction type
cannot be modified.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

transaction_type
string (Transaction type)

One of the following:

List of values

ValueDescriptiondpOther paymentsipSupplier paymentcnpClient refund

title
string (Reason) <= 255 characters

Short description / reason.

amount
string (Amount)

Decimal rendered as string, with the . character used as a floating point. Up to
2 decimal places.

exchange_rate
string (Exchange rate)

Comes into effect when the currency of the transaction is different than the
base currency. Will always equal 1.00 for the base currency. Decimal rendered as
string, with the . character used as a floating point. Up to 6 decimal places.

currency_code
string (Currency)

If not specified, this is set to the contact's default currency code if it
exists. In other case the organization's base currency code is used. One of the
following:

List of values

ValueDescriptionAEDAED - UAE DirhamAFNAFN - AfghaniALLALL - LekAMDAMD - Armenian
DramANGANG - Netherlands Antillian GuilderAOAAOA - KwanzaARSARS - Argentine
PesoAUDAUD - Australian DollarAWGAWG - Aruban FlorinAZNAZN - Azerbaijanian
ManatBAMBAM - Convertible MarksBBDBBD - Barbados DollarBDTBDT - TakaBGNBGN -
Bulgarian LevBHDBHD - Bahraini DinarBIFBIF - Burundi FrancBMDBMD - Bermudian
Dollar(Bermuda Dollar)BNDBND - Brunei DollarBOBBOB - BolivianoBOVBOV -
MvdolBRLBRL - Brazilian RealBSDBSD - Bahamian DollarBTNBTN - NgultrumBWPBWP -
PulaBYNBYN - Belarusian RubleBYRBYR - Belarusian RubleBZDBZD - Belize
DollarCADCAD - Canadian DollarCDFCDF - Franc CongolaisCHECHE - WIR EuroCHFCHF -
Swiss FrancCHWCHW - WIR FrancCLFCLF - Unidades de formentoCLPCLP - Chilean
PesoCNYCNY - Yuan RenminbiCOPCOP - Colombian PesoCOUCOU - Unidad de Valor
RealCRCCRC - Costa Rican ColonCUCCUC - Cuba Convertible PesoCUPCUP - Cuban
PesoCVECVE - Cape Verde EscudoCZKCZK - Czech KorunaDJFDJF - Djibouti FrancDKKDKK
- Danish KroneDOPDOP - Dominican PesoDZDDZD - Algerian DinarEGPEGP - Egyptian
PoundERNERN - NakfaETBETB - Ethiopian BirrEUREUR - EuroFJDFJD - Fiji
DollarFKPFKP - Falkland Islands PoundGBPGBP - GB PoundGELGEL - LariGHSGHS -
CediGIPGIP - Gibraltar PoundGMDGMD - DalasiGNFGNF - Guinea FrancGTQGTQ -
QuetzalGYDGYD - Guyana DollarHKDHKD - Hong Kong DollarHNLHNL - LempiraHRKHRK -
Croatian KunaHTGHTG - GourdeHUFHUF - ForintIDRIDR - RupiahILSILS - New Israeli
SheqelINRINR - Indian RupeeIQDIQD - Iraqi DinarIRRIRR - Iranian RialISKISK -
Iceland KronaJMDJMD - Jamaican DollarJODJOD - Jordanian DinarJPYJPY - YenKESKES
- Kenyan ShillingKGSKGS - SomKHRKHR - RielKMFKMF - Comoro FrancKPWKPW - North
Korean WonKRWKRW - WonKWDKWD - Kuwaiti DinarKYDKYD - Cayman Islands DollarKZTKZT
- TengeLAKLAK - KipLBPLBP - Lebanese PoundLKRLKR - Sri Lanka RupeeLRDLRD -
Liberian DollarLSLLSL - LotiLYDLYD - Libyan DinarMADMAD - Moroccan DirhamMDLMDL
- Moldovan LeuMGAMGA - Malagascy AriaryMKDMKD - DenarMMKMMK - KyatMNTMNT -
TugrikMOPMOP - PatacaMRUMRU - OuguiyaMURMUR - Mauritius RupeeMVRMVR -
RufiyaaMWKMWK - KwachaMXNMXN - Mexican PesoMXVMXV - Mexican Unidad de
Inversion(UID)MYRMYR - Malaysian RinggitMZNMZN - Mozambique MeticalNADNAD -
Namibian DollarNGNNGN - NairaNIONIO - Cordoba OroNOKNOK - Norwegian KroneNPRNPR
- Nepalese RupeeNZDNZD - New Zealand DollarOMROMR - Rial OmaniPABPAB -
BalboaPENPEN - Nuevo SolPGKPGK - KinaPHPPHP - Philippine PesoPKRPKR - Pakistan
RupeePLNPLN - ZlotyPYGPYG - GuaraniQARQAR - Qatari RialRONRON - Romanian
LeuRSDRSD - Serbian DinarRUBRUB - Russian RubleRWFRWF - Rwanda FrancSARSAR -
Saudi RiyalSBDSBD - Solomon Islands DollarSCRSCR - Seychelles RupeeSDGSDG -
Sudanese PoundSEKSEK - Swedish KronaSGDSGD - Singapore DollarSHPSHP - Saint
Helena PoundSLESLE - LeoneSLLSLL - LeoneSOSSOS - Somali ShillingSRDSRD - Surinam
DollarSSPSSP - South Sudanese PoundSTNSTN - DobraSVCSVC - El Salvador
ColonSYPSYP - Syrian PoundSZLSZL - LilangeniTHBTHB - BahtTJSTJS - SomoniTMTTMT -
Turkmenistan New ManatTNDTND - Tunisian DinarTOPTOP - PaangaTRYTRY - Turkish
LiraTTDTTD - Trinidad and Tobago DollarTWDTWD - New Taiwan DollarTZSTZS -
Tanzanian ShillingUAHUAH - HryvniaUGXUGX - Uganda ShillingUSDUSD - US
DollarUYIUYI - Uruguay Peso en Unidades IndexadasUYUUYU - Peso UruguayoUZSUZS -
Uzbekistan SumVEDVED - Bolívar SoberanoVEFVEF - Bolivar FuerteVESVES - Bolívar
SoberanoVNDVND - DongVUVVUV - VatuWSTWST - TalaXAFXAF - CFA Franc BEACXCDXCD -
East Caribbean DollarXDRXDR - SDRXOFXOF - CFA Franc BCEAOXPFXPF - CFP
FrancYERYER - Yemeni RialZARZAR - RandZMWZMW - Zambian KwachaZWLZWL - Zimbabwe
Dollar

date
string <date> (Date)

Date is in the form of YYYY-mm-dd.

contact
integer (To)

ID of the associated contact.

purchase_payments
Array of objects (Supplier payments)

A list of the bills paid via this transaction. Applies to "Supplier payment"
transactions.

creditnote_payments
Array of objects (Client refunds)

A list of the credit notes paid via this transaction. Applies to "Client refund"
transactions.

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/cashpayments/{id}/
https://api.elorus.com/v1.1/cashpayments/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "title": "A supplier invoice payment",
 * "amount": "100.00",
 * "exchange_rate": "1.000000",
 * "currency_code": "USD",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "purchase_payments":
   
   [
    * 
      {
       * "purchase": "8800000040088865",
       * "amount": "80"
      
      }
   
   ],
 * "creditnote_payments":
   
   [
    * 
      {
       * "creditnote": "1050000300010040",
       * "amount": "20"
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "transaction_type": "ip",
 * "title": "A supplier invoice payment",
 * "amount": "100.00",
 * "exchange_rate": "1.000000",
 * "currency_code": "USD",
 * "date": "2018-10-25",
 * "contact": "3300000040000100",
 * "purchase_payments":
   
   [
    * 
      {
       * "purchase": "8800000040088865",
       * "amount": "80"
      
      }
   
   ],
 * "creditnote_payments":
   
   [
    * 
      {
       * "creditnote": "1050000300010040",
       * "amount": "20"
      
      }
   
   ],
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/CASHPAYMENTS/{ID}/


DELETE A PAYMENT SENT.

Deleting a bill payment may result in changing the bill's status. For example,
if the bill was marked as 'paid' it will now revert to 'issued' or 'partially
paid'.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/cashpayments/{id}/
https://api.elorus.com/v1.1/cashpayments/{id}/


PRODUCTS / SERVICES

This entity represents inventory items that your company may sell or purchase.
Products / services may be assigned to invoices, credit notes etc. and are
primarily used to:

 * View sales / purchase reports per item
 * Manage inventory stock

PRODUCTS / SERVICES IN SALES & PURCHASES

In real world, products may be sold, purchased or both. In Elorus, you must
explicitly specify whether you buy or sell a product:

To be able to associate a product with an invoice or credit note, the product's
sales property must be set to true. To be able to associate a product with a
bill or a supplier credit, the product's purchases property must be set to true

STOCK MANAGEMENT

To let keep track of the product's stock in your inventory, the manage property
must be set to true. Each time the product is being sold (i.e. an invoice line
is associated with the product) the stock will increase as dictated by the
quantity. Each time the product is being purchased (i.e. associated with a bill)
the stock will decrease as dictated by the quantity.

TRACKING CATEGORIES

Products / services may be assigned custom tags. Tags are grouped under custom
categories and are primarily a reporting tool: they can help you better
understand your sales / purchases.


/V1.1/PRODUCTS/


GET THE LIST OF PRODUCTS / SERVICES.

The response does not include all the products / services details. To retrieve
more information about a specific product / service, use the single products /
services endpoint.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title, description, code, related_notes__notes,
custom_id.

sales
string

Optionally filter by sales status. The available choices are: 1, 0.

purchases
string

Optionally filter by purchase status. The available choices are: 1, 0.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

custom_id
string

Optionally filter by custom ID.

tc_<trackingcategory_id>
string

Optionally filter by any applied tracking category. The filter's name is
parameterized using the tracking category's id. The filter's value can be any of
the category's options. For example ?tc_12345=test means that all records which
have been tracked as test using 12345 category, will be returned.

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are title, sales, sale_value,
purchases, purchase_value, manage, stock, code, modified, created. Prepend a -
to denote reverse ordering (e.g -title).

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/products/
https://api.elorus.com/v1.1/products/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "custom_id": "ABC-123-a1",
       * "title": "Pair of socks",
       * "code": "PS-1",
       * "description": "Super-cool expensive socks!",
       * "sales": true,
       * "sale_value": "40.00",
       * "sale_taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "purchases": true,
       * "purchase_value": "30.00",
       * "purchase_taxes":
         
         [
          * "6600230050000705"
         
         ],
       * "manage": true,
       * "stock": "13.00",
       * "unit_measure": "0",
       * "active": true,
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/PRODUCTS/


CREATE A NEW PRODUCT / SERVICE.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

title
required
string (Title) [ 1 .. 150 ] characters

The product title.

code
string (Item code) <= 40 characters

Optional product code, up to 40 characters.

description
string (Description)

Optional product description.

sales
boolean (Sales)

Indicates if you sale this item or not.

sale_value
string (Sale value)

Default unit sale value (this is not currency-agnostic). Decimal rendered as
string, with the . character used as a floating point. Up to 5 decimal places.

sale_taxes
Array of integers (Sale taxes)

A list of tax IDs that should apply by default when selling the item.

purchases
boolean (Purchases)

Indicates if you purchase this item or not.

purchase_value
string (Purchase value)

Default unit purchase value (this is not currency-agnostic). Decimal rendered as
string, with the . character used as a floating point. Up to 5 decimal places.

purchase_taxes
Array of integers (Purchase taxes)

A list of tax IDs that should apply by default when purchasing the item.

manage
boolean (Manage stock)

Whether Elorus should manage the product's stock.

stock
string (Stock number) Nullable

The initial stock. Applies only to products having stock management enabled.
Decimal rendered as string, with the . character used as a floating point. Up to
4 decimal places.

unit_measure
integer (Measurement unit) Nullable

Measurement unit. One of the following:

List of values

ValueDescription0Item1Service24Package25Box2Square millimetre3Square
centimetre4Square metre5Square
kilometre6Millimetre7Centimetre8Metre9Kilometre10Millilitre11Litre26Cubic
metre12Milligram13Gram14Kilogram15Ton16Minute17Hour27Day18Month19Year20Man-Hour21Man-Day22Man-Month23Kilowatt
hour

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.

active
boolean (Active)



RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/products/
https://api.elorus.com/v1.1/products/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "title": "Pair of socks",
 * "code": "PS-1",
 * "description": "Super-cool expensive socks!",
 * "sales": true,
 * "sale_value": "40.00",
 * "sale_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "purchases": true,
 * "purchase_value": "30.00",
 * "purchase_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "manage": true,
 * "stock": "13.00",
 * "unit_measure": "0",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "active": true

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "title": "Pair of socks",
 * "code": "PS-1",
 * "description": "Super-cool expensive socks!",
 * "sales": true,
 * "sale_value": "40.00",
 * "sale_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "purchases": true,
 * "purchase_value": "30.00",
 * "purchase_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "manage": true,
 * "stock": "13.00",
 * "unit_measure": "0",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "active": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/PRODUCTS/{ID}/


GET A SINGLE PRODUCT / SERVICE.

Returns all available information for a specific product / service.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/products/{id}/
https://api.elorus.com/v1.1/products/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "title": "Pair of socks",
 * "code": "PS-1",
 * "description": "Super-cool expensive socks!",
 * "sales": true,
 * "sale_value": "40.00",
 * "sale_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "purchases": true,
 * "purchase_value": "30.00",
 * "purchase_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "manage": true,
 * "stock": "13.00",
 * "unit_measure": "0",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "active": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/PRODUCTS/{ID}/


UPDATE A PRODUCT / SERVICE.

You must provide at least all the required fields for the record to be
successfully updated. Omit any optional parameter to keep the old value.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



custom_id
string (Custom ID) <= 256 characters

title
required
string (Title) [ 1 .. 150 ] characters

The product title.

code
string (Item code) <= 40 characters

Optional product code, up to 40 characters.

description
string (Description)

Optional product description.

sales
boolean (Sales)

Indicates if you sale this item or not.

sale_value
string (Sale value)

Default unit sale value (this is not currency-agnostic). Decimal rendered as
string, with the . character used as a floating point. Up to 5 decimal places.

sale_taxes
Array of integers (Sale taxes)

A list of tax IDs that should apply by default when selling the item.

purchases
boolean (Purchases)

Indicates if you purchase this item or not.

purchase_value
string (Purchase value)

Default unit purchase value (this is not currency-agnostic). Decimal rendered as
string, with the . character used as a floating point. Up to 5 decimal places.

purchase_taxes
Array of integers (Purchase taxes)

A list of tax IDs that should apply by default when purchasing the item.

manage
boolean (Manage stock)

Whether Elorus should manage the product's stock.

unit_measure
integer (Measurement unit) Nullable

Measurement unit. One of the following:

List of values

ValueDescription0Item1Service24Package25Box2Square millimetre3Square
centimetre4Square metre5Square
kilometre6Millimetre7Centimetre8Metre9Kilometre10Millilitre11Litre26Cubic
metre12Milligram13Gram14Kilogram15Ton16Minute17Hour27Day18Month19Year20Man-Hour21Man-Day22Man-Month23Kilowatt
hour

trackingcategories
Array of objects (Tracking categories)

An optional list of tracking categories to classify this record.

active
boolean (Active)



RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/products/{id}/
https://api.elorus.com/v1.1/products/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "custom_id": "ABC-123-a1",
 * "title": "Pair of socks",
 * "code": "PS-1",
 * "description": "Super-cool expensive socks!",
 * "sales": true,
 * "sale_value": "40.00",
 * "sale_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "purchases": true,
 * "purchase_value": "30.00",
 * "purchase_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "manage": true,
 * "unit_measure": "0",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "active": true

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "custom_id": "ABC-123-a1",
 * "title": "Pair of socks",
 * "code": "PS-1",
 * "description": "Super-cool expensive socks!",
 * "sales": true,
 * "sale_value": "40.00",
 * "sale_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "purchases": true,
 * "purchase_value": "30.00",
 * "purchase_taxes":
   
   [
    * "6600230050000705"
   
   ],
 * "manage": true,
 * "stock": "13.00",
 * "unit_measure": "0",
 * "trackingcategories":
   
   [
    * 
      {
       * "trackingcategory": "7000230020000553",
       * "option": "My custom tag"
      
      }
   
   ],
 * "active": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/PRODUCTS/{ID}/


DELETE A PRODUCT / SERVICE.

If you delete a product that is associated with an invoice line, the invoice
will be decoupled from the product. Other than that, the invoice line will be
left intact and the product will be successfully deleted.

The same goes for any bills, credit notes etc. associated with the product.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/products/{id}/
https://api.elorus.com/v1.1/products/{id}/


TAXES

You may retrieve the list of taxes via the API. However, to update or create new
records, the web application must be used.


/V1.1/TAXES/


GET THE LIST OF TAXES.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are title, operand, percentage,
active, tax_type, modified, created. Prepend a - to denote reverse ordering (e.g
-title).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title, percentage.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

operand
string

Optionally filter by operand. The available choices are: plus, minus.

tax_type
string

Optionally filter by tax type. The available choices are: simple, vat,
withholding.

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/taxes/
https://api.elorus.com/v1.1/taxes/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "title": "VAT",
       * "tax_type": "vat",
       * "value_mode": "percentage",
       * "operand": "+",
       * "percentage": "20.00",
       * "amount": "0.00000",
       * "per_unit": true,
       * "subject_to_vat": true,
       * "apply_on_document_lines": true,
       * "for_information_purposes": true,
       * "active": true,
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/TAXES/{ID}/


GET A SINGLE TAX.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/taxes/{id}/
https://api.elorus.com/v1.1/taxes/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "title": "VAT",
 * "title_translations":
   
   {
    * "bg": "ДДС",
    * "de": "MwSt.",
    * "el": "ΦΠΑ",
    * "en": "VAT",
    * "en-gb": "VAT",
    * "es": "IVA",
    * "fr": "TVA",
    * "it": "IVA"
   
   },
 * "tax_type": "vat",
 * "value_mode": "percentage",
 * "operand": "+",
 * "percentage": "20.00",
 * "amount": "0.00000",
 * "per_unit": true,
 * "subject_to_vat": true,
 * "apply_on_document_lines": true,
 * "for_information_purposes": true,
 * "active": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


PAYMENT GATEWAYS

You may retrieve the list of payment gateways via the API. However, to update or
create new records, the web application must be used.


/V1.1/PAYMENTGATEWAYS/


GET THE LIST OF PAYMENT GATEWAYS.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are title, default, active, created,
modified. Prepend a - to denote reverse ordering (e.g -title).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title.

backend
string

Optional filter. The available choices are: stripe, paypal, braintree,
authorizenet, vivaredirect, razorpay, revolut.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

default
string

A base custom filter for boolean fields. The available choices are: 1, 0.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/paymentgateways/
https://api.elorus.com/v1.1/paymentgateways/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "title": "My Paypal account",
       * "backend": "paypal",
       * "active": true,
       * "default": true,
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


EXPENSE CATEGORIES

Expense categories enable users to classify expenses & bills. Elorus comes with
a predefined set of expense categories. Users may also create additional, custom
categories.


/V1.1/EXPENSECATEGORIES/


GET THE LIST OF EXPENSE CATEGORIES.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are title, created, modified. Prepend
a - to denote reverse ordering (e.g -title).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/expensecategories/
https://api.elorus.com/v1.1/expensecategories/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "title": "Travel expenses",
       * "color": "000000",
       * "protected": false,
       * "active": true,
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/EXPENSECATEGORIES/{ID}/


GET A SINGLE EXPENSE CATEGORY.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/expensecategories/{id}/
https://api.elorus.com/v1.1/expensecategories/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "title": "Travel expenses",
 * "color": "000000",
 * "protected": false,
 * "active": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


TRACKING CATEGORIES

Tracking categories are primarily a reporting tool to help you monitor the
performance of all sorts of records. Think of each category as a group of
conceptually related, mutually exclusive options (tags) that can be used to
identify a record.

For example, to monitor your sales by continent, you may create a tracking
category named "Continent". The available options will be "North America",
"South America", "Europe", "Asia", "Africa", "Australia" and "Antarctica". Once
the category is created, you may associate each invoice with exactly one
continent.

Tracking categories can be used as filters in reports (e.g. you can filter the
results by continent), or even as groupers (e.g. you may view your revenues per
continent and calculate sub-totals).


/V1.1/TRACKINGCATEGORIES/


GET THE LIST OF TRACKING CATEGORIES.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are title, active. Prepend a - to
denote reverse ordering (e.g -title).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title, options.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

application
string

Optional filter.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/trackingcategories/
https://api.elorus.com/v1.1/trackingcategories/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "title": "Continent",
       * "active": true,
       * "options":
         
         [
          * "Africa",
          * "Antarctica",
          * "Asia",
          * "Australia",
          * "Europe",
          * "North America",
          * "South America"
         
         ],
       * "application":
         
         [
          * "sales",
          * "purchases"
         
         ],
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/TRACKINGCATEGORIES/{ID}/


GET A SINGLE TRACKING CATEGORY.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/trackingcategories/{id}/
https://api.elorus.com/v1.1/trackingcategories/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "title": "Continent",
 * "active": true,
 * "options":
   
   [
    * "Africa",
    * "Antarctica",
    * "Asia",
    * "Australia",
    * "Europe",
    * "North America",
    * "South America"
   
   ],
 * "application":
   
   [
    * "sales",
    * "purchases"
   
   ],
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


TEMPLATES

Templates dictate the way that invoices, estimates, credit notes etc. will be
rendered. They hold information about the content (e.g. which columns to show on
the line items table, whether to display the outstanding amount or not, etc.)
and the design (e.g. colors, fonts, static texts). Templates may also be used to
specify default messages that will be used when communicating with your clients
via email.

Each template is associated with a language. You may use multiple templates to
address international clients and issue invoices in different languages.

IMPORTANT NOTE

Using this API you are able to obtain the templates and inspect their
properties. However, creating, modifying & deleting templates is not supported.


/V1.1/TEMPLATES/


GET THE LIST OF TEMPLATES.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are title, template, language,
font_size, created, modified. Prepend a - to denote reverse ordering (e.g
-title).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title, company_name, slogan, company_info,
invoice_public_notes, estimate_public_notes.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

template
string

Optionally filter by the template layout. The available choices are: strict,
classic, prof, modern.

language
string

Optionally filter templates based on their language. The available choices are:
en, en-gb, el, fr, de, it, es, bg.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/templates/
https://api.elorus.com/v1.1/templates/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "active": true,
       * "default": true,
       * "title": "The default template",
       * "template": "classic",
       * "language": "en",
       * "company_name": "ACME Inc.",
       * "company_info": "4 Catherine St., Southaven, MS 38671, USA",
       * "invoice_terms": "Default invoice terms & conditions.",
       * "creditnote_terms": "Default credit notes terms & conditions.",
       * "estimate_terms": "Default estimate terms & conditions.",
       * "invoice_public_notes": "Default notes on the invoice.",
       * "creditnote_public_notes": "Default public credit notes, notes.",
       * "estimate_public_notes": "Default notes on the estimate.",
       * "self_billed_public_notes": "Default notes on self-billed invoices.",
       * "self_billed_supplier_credit_public_notes": "string",
       * "slogan": "Creating awesomeness",
       * "invoice_email_message": "",
       * "estimate_email_message": "",
       * "purchase_email_message": "",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/TEMPLATES/{ID}/


GET A SINGLE TEMPLATE.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/templates/{id}/
https://api.elorus.com/v1.1/templates/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "active": true,
 * "default": true,
 * "title": "The default template",
 * "template": "classic",
 * "language": "en",
 * "company_name": "ACME Inc.",
 * "company_info": "4 Catherine St., Southaven, MS 38671, USA",
 * "invoice_terms": "Default invoice terms & conditions.",
 * "creditnote_terms": "Default credit notes terms & conditions.",
 * "estimate_terms": "Default estimate terms & conditions.",
 * "invoice_public_notes": "Default notes on the invoice.",
 * "creditnote_public_notes": "Default public credit notes, notes.",
 * "estimate_public_notes": "Default notes on the estimate.",
 * "self_billed_public_notes": "Default notes on self-billed invoices.",
 * "self_billed_supplier_credit_public_notes": "string",
 * "slogan": "Creating awesomeness",
 * "invoice_email_message": "",
 * "estimate_email_message": "",
 * "purchase_email_message": "",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


EMAIL TEMPLATES

The Email templates are email message presets that can be used whenever sending
an invoice, credit note etc. to a client. They utilize a set of predefined
variables that can be substituted with actual invoice data upon request.

Once an email template has been created, you may use the email endpoint of the
corresponding entity (e.g. email an invoice) to retrieve the generated email
message.


/V1.1/EMAILTEMPLATES/


GET THE LIST OF EMAIL TEMPLATES.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are subject, message.

email_type
string

Optional filter. The available choices are: invoice, estimate, purchase,
cashreceipt, client_statement.

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are subject, email_type, message,
default_for_language, default, modified, created. Prepend a - to denote reverse
ordering (e.g -subject).

created_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

created_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_after
string

Optionally filter results from a date onwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

modified_before
string

Optionally filter results from a date backwards. Date must be in the form of
YYYY-mm-dd or ISO-formatted.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/emailtemplates/
https://api.elorus.com/v1.1/emailtemplates/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "email_type": "invoice",
       * "subject": "Invoice from %COMPANY% (%DOCUMENTNAME%)",
       * "message": "<div style=\"white-space: pre-wrap;\"><p>Hello
         %CNAME%,<br><br>Please visit %PERMALINK% to access the invoice.<br>You
         can also download a pdf version from that
         link.<br><br>Thanks,<br>%SNAME%</p></div>",
       * "sender_type": "company",
       * "sender_name": "",
       * "default": true,
       * "default_for_language": "",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/EMAILTEMPLATES/


CREATE AN EMAIL TEMPLATE.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



email_type
required
string (Template type)

The type of email messages that this template will apply to (e.g. an invoice via
email, sending a client statement via email, and so on). One of the following:

List of values

ValueDescriptioninvoiceInvoicesestimateEstimatespurchaseBillscashreceiptPayments
receivedclient_statementClient statements

subject
required
string (Email subject)

Supported variables for each type are the following:

List of variables

TypeVariableDescriptioncashreceipt%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%AMOUNT%Amount%COMPANY%Company
name%PREASON%Reasonclient_statement%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%COMPANY%Company
name%PERIODTO%Period to%PERIODFROM%Period frominvoice%CNAME%Client display
name%CFIRSTNAME%Client first name%CLASTNAME%Client last name%CCOMPANYNAME%Client
company name%SNAME%Sender name%DOCUMENTNAME%Document name%PAID%Document paid
amount%DUE%Document due amount%CDUE%Client invoices due%CTOTALDUE%Client amount
due%COMPANY%Company nameestimate%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%COMPANY%Company
namepurchase%SUPNAME%Supplier name%SUPFIRSTNAME%Supplier first
name%SUPLASTNAME%Supplier last name%SUPCOMPANYNAME%Supplier company
name%SNAME%Sender name%DOCUMENTNAME%Document name%COMPANY%Company name

message
required
string (Email message)

The message may contain multiple variables that will be substituted with the
actual data upon sending the email. Supported variables for each type are the
following:

List of variables

TypeVariableDescriptioncashreceipt%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%AMOUNT%Amount%COMPANY%Company
name%PREASON%Reasonclient_statement%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%COMPANY%Company
name%PERIODTO%Period to%PERIODFROM%Period frominvoice%CNAME%Client display
name%CFIRSTNAME%Client first name%CLASTNAME%Client last name%CCOMPANYNAME%Client
company name%SNAME%Sender name%DOCUMENTNAME%Document name%PAID%Document paid
amount%DUE%Document due amount%CDUE%Client invoices due%CTOTALDUE%Client amount
due%COMPANY%Company name%PERMALINK%Document permalinkestimate%CNAME%Client
display name%CFIRSTNAME%Client first name%CLASTNAME%Client last
name%CCOMPANYNAME%Client company name%SNAME%Sender name%DOCUMENTNAME%Document
name%COMPANY%Company name%PERMALINK%Document permalinkpurchase%SUPNAME%Supplier
name%SUPFIRSTNAME%Supplier first name%SUPLASTNAME%Supplier last
name%SUPCOMPANYNAME%Supplier company name%SNAME%Sender
name%DOCUMENTNAME%Document name%COMPANY%Company name%PERMALINK%Document
permalink

sender_type
string (Sender type)

Select a preset value to use in the display-name of the email address (e.g.
"Example Company Name" example@example.com). One of the following:

List of values

ValueDescriptioncompanyCompany nameuserSender namecustomCustom

sender_name
string (Sender name) <= 70 characters

When using a custom sender_type, use this as the literal value. This field is
required when sender_type is custom.

default
boolean (Default template)

Use this template when sending emails for this email_type and no other template
is specified.

default_for_language
string (Language)

Use this template when sending emails for this email_type and the
default_languageof the recipient contact matches the language dictated by this
field and no other template is specified. This field has a priority over the
default field. One of the following or blank (empty string):

List of values

ValueDescriptionenEnglishen-gbEnglish (United
Kingdom)elGreekfrFrenchdeGermanitItalianesSpanishbgBulgarian


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/emailtemplates/
https://api.elorus.com/v1.1/emailtemplates/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "email_type": "invoice",
 * "subject": "Invoice from %COMPANY% (%DOCUMENTNAME%)",
 * "message": "<div style=\"white-space: pre-wrap;\"><p>Hello
   %CNAME%,<br><br>Please visit %PERMALINK% to access the invoice.<br>You can
   also download a pdf version from that
   link.<br><br>Thanks,<br>%SNAME%</p></div>",
 * "sender_type": "company",
 * "sender_name": "",
 * "default": true,
 * "default_for_language": ""

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "email_type": "invoice",
 * "subject": "Invoice from %COMPANY% (%DOCUMENTNAME%)",
 * "message": "<div style=\"white-space: pre-wrap;\"><p>Hello
   %CNAME%,<br><br>Please visit %PERMALINK% to access the invoice.<br>You can
   also download a pdf version from that
   link.<br><br>Thanks,<br>%SNAME%</p></div>",
 * "sender_type": "company",
 * "sender_name": "",
 * "default": true,
 * "default_for_language": "",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/EMAILTEMPLATES/{ID}/


GET A SINGLE EMAIL TEMPLATE.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/emailtemplates/{id}/
https://api.elorus.com/v1.1/emailtemplates/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "email_type": "invoice",
 * "subject": "Invoice from %COMPANY% (%DOCUMENTNAME%)",
 * "message": "<div style=\"white-space: pre-wrap;\"><p>Hello
   %CNAME%,<br><br>Please visit %PERMALINK% to access the invoice.<br>You can
   also download a pdf version from that
   link.<br><br>Thanks,<br>%SNAME%</p></div>",
 * "sender_type": "company",
 * "sender_name": "",
 * "default": true,
 * "default_for_language": "",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/EMAILTEMPLATES/{ID}/


UPDATE AN EMAIL TEMPLATE.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



subject
required
string (Email subject)

Supported variables for each type are the following:

List of variables

TypeVariableDescriptioncashreceipt%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%AMOUNT%Amount%COMPANY%Company
name%PREASON%Reasonclient_statement%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%COMPANY%Company
name%PERIODTO%Period to%PERIODFROM%Period frominvoice%CNAME%Client display
name%CFIRSTNAME%Client first name%CLASTNAME%Client last name%CCOMPANYNAME%Client
company name%SNAME%Sender name%DOCUMENTNAME%Document name%PAID%Document paid
amount%DUE%Document due amount%CDUE%Client invoices due%CTOTALDUE%Client amount
due%COMPANY%Company nameestimate%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%COMPANY%Company
namepurchase%SUPNAME%Supplier name%SUPFIRSTNAME%Supplier first
name%SUPLASTNAME%Supplier last name%SUPCOMPANYNAME%Supplier company
name%SNAME%Sender name%DOCUMENTNAME%Document name%COMPANY%Company name

message
required
string (Email message)

The message may contain multiple variables that will be substituted with the
actual data upon sending the email. Supported variables for each type are the
following:

List of variables

TypeVariableDescriptioncashreceipt%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%AMOUNT%Amount%COMPANY%Company
name%PREASON%Reasonclient_statement%CNAME%Client display name%CFIRSTNAME%Client
first name%CLASTNAME%Client last name%CCOMPANYNAME%Client company
name%SNAME%Sender name%DOCUMENTNAME%Document name%COMPANY%Company
name%PERIODTO%Period to%PERIODFROM%Period frominvoice%CNAME%Client display
name%CFIRSTNAME%Client first name%CLASTNAME%Client last name%CCOMPANYNAME%Client
company name%SNAME%Sender name%DOCUMENTNAME%Document name%PAID%Document paid
amount%DUE%Document due amount%CDUE%Client invoices due%CTOTALDUE%Client amount
due%COMPANY%Company name%PERMALINK%Document permalinkestimate%CNAME%Client
display name%CFIRSTNAME%Client first name%CLASTNAME%Client last
name%CCOMPANYNAME%Client company name%SNAME%Sender name%DOCUMENTNAME%Document
name%COMPANY%Company name%PERMALINK%Document permalinkpurchase%SUPNAME%Supplier
name%SUPFIRSTNAME%Supplier first name%SUPLASTNAME%Supplier last
name%SUPCOMPANYNAME%Supplier company name%SNAME%Sender
name%DOCUMENTNAME%Document name%COMPANY%Company name%PERMALINK%Document
permalink

sender_type
string (Sender type)

Select a preset value to use in the display-name of the email address (e.g.
"Example Company Name" example@example.com). One of the following:

List of values

ValueDescriptioncompanyCompany nameuserSender namecustomCustom

sender_name
string (Sender name) <= 70 characters

When using a custom sender_type, use this as the literal value. This field is
required when sender_type is custom.

default
boolean (Default template)

Use this template when sending emails for this email_type and no other template
is specified.

default_for_language
string (Language)

Use this template when sending emails for this email_type and the
default_languageof the recipient contact matches the language dictated by this
field and no other template is specified. This field has a priority over the
default field. One of the following or blank (empty string):

List of values

ValueDescriptionenEnglishen-gbEnglish (United
Kingdom)elGreekfrFrenchdeGermanitItalianesSpanishbgBulgarian


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/emailtemplates/{id}/
https://api.elorus.com/v1.1/emailtemplates/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "subject": "Invoice from %COMPANY% (%DOCUMENTNAME%)",
 * "message": "<div style=\"white-space: pre-wrap;\"><p>Hello
   %CNAME%,<br><br>Please visit %PERMALINK% to access the invoice.<br>You can
   also download a pdf version from that
   link.<br><br>Thanks,<br>%SNAME%</p></div>",
 * "sender_type": "company",
 * "sender_name": "",
 * "default": true,
 * "default_for_language": ""

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "email_type": "invoice",
 * "subject": "Invoice from %COMPANY% (%DOCUMENTNAME%)",
 * "message": "<div style=\"white-space: pre-wrap;\"><p>Hello
   %CNAME%,<br><br>Please visit %PERMALINK% to access the invoice.<br>You can
   also download a pdf version from that
   link.<br><br>Thanks,<br>%SNAME%</p></div>",
 * "sender_type": "company",
 * "sender_name": "",
 * "default": true,
 * "default_for_language": "",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/EMAILTEMPLATES/{ID}/


DESTROY AN EMAIL TEMPLATE.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/emailtemplates/{id}/
https://api.elorus.com/v1.1/emailtemplates/{id}/


DOCUMENT TYPES

Document types define distinct kinds of documents, each following a separate
numbering sequence. The most common document type is the "Invoice". If, for
example, one needs to issue "Tax invoices" and "Retail invoices" separately,
they would create two new document types.

Each document type applies to a specific type of records. You may create
document types that apply to invoices, credit notes or estimates.

Finally, document types specify the translations to use when invoicing in
multiple languages.


/V1.1/DOCUMENTTYPES/


GET THE LIST OF DOCUMENT TYPES.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

ordering
string

Which field to use when ordering the results. A comma-separated list, if more
than one is provided. The available fields are title, active, application,
created, modified. Prepend a - to denote reverse ordering (e.g -title).

search
string

A search term.

search_fields
string

The fields on which search will be performed once a search term is provided. A
comma-separated list. If not provided, the search operation will span across all
fields. The available fields are title.

application
string

Optional filter. The available choices are: 1, 2, 3, 4, 5.

active
string

A base custom filter for boolean fields. The available choices are: 1, 0.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/documenttypes/
https://api.elorus.com/v1.1/documenttypes/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "title": "Invoice",
       * "active": true,
       * "application": 1,
       * "default": true,
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z",
       * "always_self_billed": false
      
      }
   
   ]

}


/V1.1/DOCUMENTTYPES/{ID}/


GET A SINGLE DOCUMENT TYPE.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/documenttypes/{id}/
https://api.elorus.com/v1.1/documenttypes/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "title": "Invoice",
 * "title_translations":
   
   {
    * "bg": "Фактура",
    * "de": "Rechnung",
    * "el": "Τιμολόγιο",
    * "en": "Invoice",
    * "en-gb": "Invoice",
    * "es": "Factura",
    * "fr": "Facture",
    * "it": "Fattura"
   
   },
 * "active": true,
 * "application": 1,
 * "default": true,
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z",
 * "always_self_billed": false

}


NUMBERING SEQUENCES

Numbering sequences are prefixes that define a new, unique numbering for
invoices, credit notes, estimates etc. For example, given an invoicing sequence
"A" and a second sequence "B", your invoices may look like:

 * Invoice A-1
 * Invoice A-2
 * Invoice A-3
 * Invoice B-1
 * Invoice B-2
 * ...

Sequences are always associated with a document type, which in turn applies to
either invoices, credit notes, recurring invoices or estimates.


/V1.1/NUMBERINGSEQUENCE/


GET THE LIST OF NUMBERING SEQUENCES.

AUTHORIZATIONS:

API_key

QUERY PARAMETERS

documenttype
string

Optional filter.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page. Default is 100.

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/numberingsequence/
https://api.elorus.com/v1.1/numberingsequence/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "count": 10,
 * "next": "",
 * "previous": "",
 * "results":
   
   [
    * 
      {
       * "id": "1050000300010040",
       * "name": "string",
       * "documenttype": "4400000040000123",
       * "organization": "1000000243015421",
       * "created": "2019-01-28T13:48:56.504916Z",
       * "modified": "2019-01-28T13:48:56.504916Z"
      
      }
   
   ]

}


/V1.1/NUMBERINGSEQUENCE/


CREATE A NUMBERING SEQUENCE.

AUTHORIZATIONS:

API_key

HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



name
required
string (Name) [ 1 .. 10 ] characters

The sequence prefix (e.g. "INV").

documenttype
required
string (Document type) non-empty

Document type ID associated with this sequence.


RESPONSES

201
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

post/v1.1/numberingsequence/
https://api.elorus.com/v1.1/numberingsequence/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "name": "string",
 * "documenttype": "4400000040000123"

}


RESPONSE SAMPLES

 * 201

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "name": "string",
 * "documenttype": "4400000040000123",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/NUMBERINGSEQUENCE/{ID}/


GET A SINGLE NUMBERING SEQUENCE.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

200
403

Permission denied. User was not allowed to perform the requested action.

get/v1.1/numberingsequence/{id}/
https://api.elorus.com/v1.1/numberingsequence/{id}/


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "name": "string",
 * "documenttype": "4400000040000123",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/NUMBERINGSEQUENCE/{ID}/


UPDATE A NUMBERING SEQUENCE.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.

REQUEST BODY SCHEMA: APPLICATION/JSON



name
required
string (Name) [ 1 .. 10 ] characters

The sequence prefix (e.g. "INV").


RESPONSES

200
400

Bad request. The exact error message is sent in the response body.

403

Permission denied. User was not allowed to perform the requested action.

put/v1.1/numberingsequence/{id}/
https://api.elorus.com/v1.1/numberingsequence/{id}/


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all

{
 * "name": "string"

}


RESPONSE SAMPLES

 * 200

Content type
application/json
Copy
Expand all Collapse all

{
 * "id": "1050000300010040",
 * "name": "string",
 * "documenttype": "4400000040000123",
 * "organization": "1000000243015421",
 * "created": "2019-01-28T13:48:56.504916Z",
 * "modified": "2019-01-28T13:48:56.504916Z"

}


/V1.1/NUMBERINGSEQUENCE/{ID}/


DELETE A NUMBERING SEQUENCE.

Note that you cannot delete sequences being currently in use.

AUTHORIZATIONS:

API_key

PATH PARAMETERS

id
required
string


HEADER PARAMETERS

X-Elorus-Organization
required
string

The ID of the organization you want to operate on.

X-Elorus-Demo
string

Just send this header if you want to ensure you operate on demo organizations
only. Useful while you're developing your application, to avoid accidents on
production data. Note that the header's value is not important.


RESPONSES

204
403

Permission denied. User was not allowed to perform the requested action.

delete/v1.1/numberingsequence/{id}/
https://api.elorus.com/v1.1/numberingsequence/{id}/