Factures
Obtenir des factures
GET /invoices/invoices[/status/#{status}][/start_date/#{start_date}][/end_date/#{end_date}][/clients/#{clients}][/tags/#{tags}][/number/#{number}][/amount_paid_operator/#{amount_paid_operator}][/amount_paid/#{amount_paid}][/amount_total_operator/#{amount_total_operator}][/amount_total/#{amount_total}][/amount_due_operator/#{amount_due_operator}][/amount_due/#{amount_due}][/currency/#{currency}][/user/#{user_id}]
Arguments de l'URI
Argument | Type | Requis | Valeur/Description |
---|---|---|---|
status | string | Un ou des statuts à filtrer. Vous pouvez passer plusieurs statuts en même temps en les séparants par ":". Par exemple : /status/draft:sent:unpaid Voir les valeurs possibles de status. |
|
start_date | date | Si l'argument n'est pas renseigné, la valeur par défaut est le premier jour du mois courant. | |
end_date | date | Si l'argument n'est pas renseigné, la valeur par défaut est le dernier jour du mois courant. | |
clients | string | Un ou des clients à filtrer. Vous pouvez passer plusieurs clients en même temps en les séparants par ":". Par exemple : /clients/Client%20Name:Another%20Client%20Name |
|
tags | string | Un ou des tags à filtrer. Vous pouvez passer plusieurs tags en même temps en les séparant par ":". Par exemple : /tags/Tag 1:Tag 2 |
|
number | string | Tout ou partie d'un numéro de facture à filtrer (équivalent à la fonction MySQL "LIKE '#{number}%'". | |
amount_paid_operator | string | Voir les valeurs possibles de operator. | |
amount_paid | double | Un montant payé. | |
amount_total_operator | string | Voir les valeurs possibles de operator. | |
amount_total | double | Un montant total. | |
amount_due_operator | string | Voir les valeurs possibles de operator. | |
amount_due | double | Un montant restant dû. | |
currency | string | Voir les valeurs possibles de currency. | |
user | integer | Le #{user_id} de l'utilisateur pour lequel filtrer les résultats. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/invoices/invoices/status/draft:sent/currency/EUR
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <invoices> <invoice> <invoice_id>1</invoice_id> <company_name>Company Name</company_name> <client_id>3</client_id> <invoice_number>F10100001</invoice_number> <date_invoice>2010-11-04</date_invoice> <due_date>2010-11-31</due_date> <total>1120</total><!-- Total HT --> <grand_total>1212.62</grand_total><!-- Total TTC --> <currency>EUR</currency> <status>draft</status> <amount_paid>0</amount_paid> <amount_due>1212.62</amount_due> </invoice> <invoice> ... </invoice> </invoices> </xml>Haut
Obtenir une facture
GET /invoices/invoice/id/#{invoice_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{invoice_id} de la facture que vous souhaitez obtenir. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/invoices/invoice/id/29
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <invoice> <invoice_id>29</invoice_id> <user_id>1</user_id> <company_id>1</company_id> <company_name>Company Name</company_name> <summary></summary> <client_id>2</client_id> <client_name>Client Name</client_name> <client_language>french</client_language> <client_tax_id>FR12123123123</client_tax_id> <invoice_number>F10100002</invoice_number> <related_invoice_number></related_invoice_number> <related_invoice_id>0</related_invoice_id> <purchaseorder_number></purchaseorder_number> <related_purchaseorder_id>0</related_purchaseorder_id> <date_creation>2010-11-04 13:08:57</date_creation> <date_invoice>2010-11-04</date_invoice> <total>1120</total><!-- Total HT --> <global_discount_total>0</global_discount_total> <global_discount_percentage>0</global_discount_percentage> <sub_total>1120</sub_total><!-- Sous-total HT --> <tax_total>49.5</tax_total> <alt_tax_total>43.12</alt_tax_total> <tax_name>TVA</tax_name> <tax_percentage>5.5</tax_percentage> <alt_tax_name>TVA</alt_tax_name> <alt_tax_percentage>19.6</alt_tax_percentage> <use_tax_inclusive>0</use_tax_inclusive> <taxation_mode>simple</taxation_mode> <grand_total>1212.62</grand_total><!-- Total TTC --> <currency>EUR</currency> <terms>0</terms> <custom_terms></custom_terms> <due_date>2010-11-04</due_date> <payment>VIR</payment> <payment_specified></payment_specified> <late_fee>0</late_fee> <late_fee_specified>0</late_fee_specified> <billing_address> <name>Client Name</name> <address1></address1> <address2></address2> <address3></address3> <address4></address4> <city></city> <state></state> <postalcode></postalcode> <country></country> </billing_address> <notes></notes> <status>draft</status> <type>standard</type> <refunds_total>0</refunds_total> <payments_total>0</payments_total> <lines> <line> <item_id>0</item_id> <line_id>44</line_id> <line_number>1</line_number> <kind>1</kind> <qty>1</qty> <description>Lorem ipsum dolor sit amet</description> <tax_percentage>5.5</tax_percentage> <alt_tax_percentage>0</alt_tax_percentage> <unit_price>900</unit_price> <reduction_percentage>0</reduction_percentage> </line> <line> ... </line> </lines> </invoice> </xml>Haut
Obtenir une facture au format PDF
GET /invoices/invoice/id/#{invoice_id}/format/pdf
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{invoice_id} de la facture que vous souhaitez obtenir. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/invoices/invoice/id/29/format/pdf
Exemple de réponse XML
HTTP Status: 200 OK
Content-Type: application/pdf
%PDF-1.4
...
%%EOF
Haut
Créer une facture
POST /invoices/invoice
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
date | date | oui | Date de la facture. Ne peut pas être antérieur à la date de la dernière facture créée. |
client_id | integer | oui | Le #{client_id} de la société pour laquelle vous créez la facture. |
summary | string | Un résumé de la facture (pour usage interne). | |
currency | string | Monnaie de la facture. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de currency. | |
address | array | Ce champ sert à personnaliser l'adresse de facturation. Si vous ne le transmettez pas, l'adresse par défaut du client est utilisée. | |
address[address1] | string | Ligne d'adresse 1. | |
address[address2] | string | Ligne d'adresse 2. | |
address[address3] | string | Ligne d'adresse 3. | |
address[address4] | string | Ligne d'adresse 4. | |
address[city] | string | Ville. | |
address[state] | string | Région/Etat. | |
address[postalcode] | string | Code postal. | |
purchaseorder_number | string | Un numéro de bon de commande associé à la facture. | |
tax_name | string | Nom de la taxe. La valeur par défaut est celle des paramètres de votre compte. | |
tax_percentage | double | Pourçentage de taxe. La valeur par défaut est celle des paramètres de votre compte. | |
alt_tax_name | string | Nom de la taxe alternative. La valeur par défaut est celle des paramètres de votre compte. | |
alt_tax_percentage | double | Pourçentage de taxe alterntive. La valeur par défaut est celle des paramètres de votre compte. | |
use_tax_inclusive | boolean | Défini si le prix unitaire des articles inclus la taxe. La valeur par défaut est celle des paramètres de votre compte. | |
taxation_mode | string | La valeur par défaut est celle des paramètres de votre compte. Pour appliquer les taxes de façon composée il faut préciser "compound". | |
global_discount_percentage | double | Pourçentage de remise globale. La valeur par défaut est 0. | |
terms | string | Conditions de règlement. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de terms. | |
payment | string | Mode de règlement. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de payment. | |
late_fee | double | Pourçentage d'intérêt de retard. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de late_fee. | |
lines | array | oui (au moins une ligne) | Les lignes de la facture. |
lines[#{key}][item_id] | integer | Le #{item_id} de l'article de l'inventaire associé à la ligne. S'il est renseigné, les champs description et unit_price ne sont plus requis. | |
lines[#{key}][kind] | integer | Type de la ligne. La valeur par défaut est "1" pour "Service". Voir les valeurs possibles de kind. |
|
lines[#{key}][qty] | double | Quantité d'articles. Vaut 1 par défaut. | |
lines[#{key}][description] | string | oui | Description de l'article. |
lines[#{key}][tax] | boolean | Appliquer la taxe. Vaut FALSE s'il n'est pas renseigné. | |
lines[#{key}][alt_tax] | boolean | Appliquer la taxe alternative. Vaut FALSE s'il n'est pas renseigné. | |
lines[#{key}][unit_price] | double | oui | Prix de l'article. |
lines[#{key}][reduction_percentage] | double | Pourçentage de remise sur la ligne. | |
notes | string | Les notes que vous souhaitez ajouter à la facture. Ce champ n'apparait pas sur le document si vous le laissez vide. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "date=2010-11-08&client_id=14¤cy=EUR&address[address1]=Ligne d'adresse 1&address[address2]=Ligne d'addresse 2&address[city]=Ville&address[postalcode]=01234&purchaseorder_number=C20101001-001&tax_name=TVA&tax_percentage=19.6&alt_tax_name=TVA&alt_tax_percentage=5.5&taxation_mode=simple&global_discount_percentage=0&terms=30END&payment=VIR&late_fee=0&lines[0][description]=Ligne de facture 1&lines[0][unit_price]=10&lines[0][qty]=1&lines[1][description]=Ligne de facture 2&lines[1][unit_price]=20&lines[1][qty]=2¬es=Notes de la facture"\ https://#{subdomain}.iscriba.com/api/invoices/invoice
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <invoice_id>1</invoice_id> </xml>Haut
Modifier une facture
PUT /invoices/invoice/id/#{invoice_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{invoice_id} de la facture que vous souhaitez modifier. |
Champs de la requête
Identiques à créer une facture excepté qu'aucun champ n'est requis. Tous les champs non intégrés à la requête resteront inchangés. Les champs date et client_id ne sont pas pris en compte.
Attention : pour les champs de type array, vous devez transmettre le tableau complet si vous souhaitez ajouter, modifier ou supprimer un élément du tableau.
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X PUT\ -d "address[address1]=Ligne d'adresse 1&address[address2]=Ligne d'addresse 2&address[city]=Ville&address[postalcode]=01234"\ https://#{subdomain}.iscriba.com/api/invoices/invoice/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <invoice_id>1</invoice_id> </xml>Haut
Modifier le statut d'une facture
PUT /invoices/invoice_status/id/#{invoice_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{invoice_id} de la facture dont vous souhaitez modifier le statut. |
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
status | string | oui | Voir les valeurs possibles de status. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X PUT\ -d "status=sent"\ https://#{subdomain}.iscriba.com/api/invoices/invoice_status/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <invoice> <id>1</id> <status>sent</status> </invoice> </xml>Haut
Supprimer une facture
DELETE /invoices/invoice/id/#{invoice_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{invoice_id} de la facture que vous souhaitez supprimer. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X DELETE https://#{subdomain}.iscriba.com/api/invoices/invoice/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <invoice_id>1</invoice_id> </xml>Haut
Obtenir les commentaires liés à une facture
GET /invoices/invoice_related_comments/id/#{invoice_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{invoice_id} de la facture dont vous souhaitez obtenir les commentaires liés. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/invoices/invoice_related_comments/id/19
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?>
<xml>
<invoice_related_comments>
<invoice_related_comment>
<comment_id>11</comment_id>
<invoice_id>33</invoice_id>
<user_id>1</user_id>
<firstname>John</firstname>
<lastname>Doe</lastname>
<title></title>
<subtitle></subtitle>
<content>Lorem ipsum dolor sit amet.</content>
<date>2010-12-23</date>
<type>post</type>
<is_public>0</is_public>
</invoice_related_comment>
<invoice_related_comment>
...
</invoice_related_comment>
</invoice_related_comments>
</xml>
Haut
Créer un commentaire lié à une facture
POST /invoices/invoice_related_comment
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
invoice_id | integer | oui | Le #{invoice_id} de la facture à laquelle sera lié le commentaire. |
content | string | oui | Le contenu du commentaire (seul le texte brut est autorisé). |
is_public | boolean | Défini si le commentaire est visible par le client. La valeur par défaut est TRUE (le commentaire est public). |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "invoice_id=10&content=Lorem ipsum dolor sit amet.&is_public=0"\ https://#{subdomain}.iscriba.com/api/invoices/invoice_related_comment
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <comment_id>1</comment_id> </xml>Haut
Supprimer un commentaire lié à une facture
DELETE /invoices/invoice_related_comment/id/#{comment_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{comment_id} du commentaire que vous souhaitez supprimer. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X DELETE https://#{subdomain}.iscriba.com/api/invoices/invoice_related_comment/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <comment_id>1</comment_id> </xml>Haut
Obtenir les documents liés à une facture
GET /invoices/invoice_related_documents/id/#{invoice_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{invoice_id} de la facture dont vous souhaitez obtenir les documents liés. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/invoices/invoice_related_documents/id/19
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <invoice_related_documents> <invoice_related_document> <id>27</id> <number>F10110014</number> <date_creation>2010-11-23 00:46:19</date_creation> <date>2010-11-22</date> <total>100</total><!-- Total TTC --> <currency>EUR</currency> <type>refund</type><!-- est remplis uniquement dans le cas d'une facture pour différencier les avoirs ("refund") des factures standard ("standard") --> <kind>invoice</kind> <status>draft</status> </invoice_related_document> <invoice_related_document> ... </invoice_related_document> </invoice_related_documents> </xml>Haut
Obtenir les tags liés à une facture
GET /invoices/invoice_related_tags/id/#{invoice_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{invoice_id} de la facture dont vous souhaitez obtenir les tags liés. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/invoices/invoice_related_tags/id/19
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?>
<xml>
<invoice_related_tags>
<invoice_related_tag>
<tag_id>5</tag_id>
<tag_name>lorem</tag_name>
</invoice_related_tag>
<invoice_related_tag>
...
</invoice_related_tag>
</invoice_related_tags>
</xml>
Haut
Créer un tag lié à une facture
POST /invoices/invoice_related_tag
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
invoice_id | integer | oui | Le #{invoice_id} de la facture à laquelle sera lié le tag. |
tag | string | oui | Le nom du tag. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "invoice_id=10&tag=Votre-tag"\ https://#{subdomain}.iscriba.com/api/invoices/invoice_related_tag
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <tag_id>1</tag_id> </xml>Haut
Supprimer un tag lié à une facture
DELETE /invoices/invoice_related_tag/invoice_id/#{invoice_id}/tag_id/#{tag_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
invoice_id | integer | oui | Le #{invoice_id} de la facture à laquelle est associé le tag. |
tag_id | integer | oui | Le #{tag_id} du tag lié à la facture. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X DELETE https://#{subdomain}.iscriba.com/api/invoices/invoice_related_tag/invoice_id/1/tag_id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <tag_id>1</tag_id> </xml>Haut
Créer un avoir
POST /invoices/refund
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
invoice_id | integer | oui | Le #{invoice_id} de la facture sur laquelle vous souhaitez faire un avoir. |
refund_lines | array | oui (au moins une ligne) | Les lignes de la facture originale sur lesquelles vous souhaitez faire un avoir. |
refund_lines[#{key}][line_id] | integer | oui | Le #{line_id} de la ligne de la facture originale sur laquelle vous souhaitez faire un avoir. |
refund_lines[#{key}][unit_price] | double | Le #{unit_price} du montant sur lequel vous souhaitez effectuer un avoir par rapport à la ligne de facture originale. S'il n'est pas remplis, l'avoir est effectué sur le montant total de la ligne original. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "invoice_id=1&refund_lines[0][line_id]=2&refund_lines[1][line_id]=4"\ https://#{subdomain}.iscriba.com/api/invoices/refund
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <invoice_id>1</invoice_id> </xml>Haut
Supprimer un paiement lié à une facture
DELETE /invoices/invoice_related_payment/invoice_id/#{invoice_id}/payment_id/#{payment_id}
Arguments de l'URI
Argument | Type | Requis | Description |
---|---|---|---|
invoice_id | integer | oui | Le #{invoice_id} de la facture à laquelle est associé le paiement. |
payment_id | integer | oui | Le #{payment_id} du paiement lié à la facture. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X DELETE\ https://#{subdomain}.iscriba.com/api/invoices/invoice_payment/invoice_id/10/payment_id/15
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <payment_id>15</payment_id> </xml>Haut