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&currency=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&notes=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

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

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

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

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

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

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