Aller au contenu

SaveBill

Saisit une facture fournisseur que votre société a reçue, comme le fait Add Bill sur la page Factures fournisseurs : par exemple une facture que votre propre système a lue dans l’e-mail d’un fournisseur. La nouvelle facture fournisseur est à l’état Received, sans aucun poste affecté. Votre équipe financière affecte ensuite ses postes et la valide dans TrakIT (voir Affecter des postes). Pour la relire, utilisez GetBill ; pour joindre la facture numérisée, utilisez UploadDoc avec Ref défini à bill ; pour renseigner ses champs de données, utilisez SaveDataField.

SaveBill est appelé par le propre système de votre société, connecté en tant qu’utilisateur TrakIT disposant de l’accès à l’API. Pour permettre à un fournisseur de vous envoyer ses propres factures depuis son système, utilisez plutôt l’API des factures fournisseurs.

Comment se connecter et lire la réponse : Authentification, Réponses.

POST /api/v1/SaveBill
Token: your-token
Content-Type: application/json
{
"BillID": 0,
"OfficeID": 3,
"EntID": 2214,
"BillNumber": "INV-2026-0042",
"BillDate": "2026-10-20",
"Received": "2026-10-21",
"DueDate": "2026-11-19",
"CurrCode": "USD",
"BillActual": 1150.00,
"TaxAmount": 150.00,
"ProfitCenter": "TRUCKING",
"Remarks": "Trucking for October"
}
Champ Obligatoire Signification
BillID Non 0 ou omis pour créer une facture fournisseur. L’identifiant d’une facture fournisseur existante pour définir son centre de profit : voir Modifier une facture fournisseur.
OfficeID Oui L’identifiant de la société qui a reçu la facture fournisseur.
EntID Oui L’identifiant de l’entité qui a envoyé la facture fournisseur, par exemple un transporteur routier. Voir GetEntity.
EntType Non L’identifiant du type d’entité dont provient la facture fournisseur, comme Entity Type sur la facture. S’il est omis, c’est le propre type de l’entité.
BillNumber Oui Le numéro imprimé sur la facture fournisseur, jusqu’à 30 caractères. TrakIT l’enregistre en majuscules, sans espaces.
BillDate Oui La date imprimée sur la facture fournisseur, au format yyyy-MM-dd.
Received Oui La date à laquelle vous avez reçu la facture fournisseur, au format yyyy-MM-dd.
DueDate Non La date d’échéance du paiement, au format yyyy-MM-dd.
CurrCode Oui La devise de la facture fournisseur, par exemple USD.
BillActual Oui Le montant facturé, taxe comprise : Total Amount (incl Tax). Il ne peut pas valoir 0, mais il peut être négatif.
TaxAmount Non La taxe de la facture fournisseur : Total Tax Amount.
TaxDeduct Non La retenue à la source : la taxe retenue sur le paiement du fournisseur, 0 ou plus.
ProfitCenter Non Le Code de l’un des centres de profit de la société. Les espaces et les majuscules n’ont pas d’importance. null ou "" pour aucun. S’il est omis, une nouvelle facture fournisseur prend le Default Profit Center de l’entité, si c’est l’un de ceux de la société de la facture.
Submitted Non true pour créer la facture fournisseur à l’état Submitted, de sorte qu’elle doive être acceptée avant d’être traitée. La valeur par défaut, false, la crée à l’état Received.
Remarks Non Les remarques internes.
ExtRemarks Non Les remarques externes, que le fournisseur voit dans le portail.

Les noms de champs ne tiennent pas compte de la casse, sauf ProfitCenter, qui doit être écrit exactement ainsi. Envoyez les dates au format yyyy-MM-dd (voir Dates) et les montants sous forme de nombres JSON.

Règle Info en cas d’échec
La requête a un en-tête Token. Token missing in header
Le corps est du JSON. Incorrect Json syntax or bill missing
Chaque champ a le bon type, par exemple des dates que TrakIT sait lire. La raison, avec Code -1
Le jeton est valide. Token invalid or expired, ou une autre réponse listée dans Jeton de connexion
L’utilisateur est un administrateur système avec l’accès à l’API. API User must be SysAdmin with API Access
Avec un BillID, une facture fournisseur a cet identifiant. Not found
ProfitCenter, s’il est indiqué, est le code d’un centre de profit de la société de la facture fournisseur. Profit Center '...' not found for this company
OfficeID est indiqué. Company is required
EntID est indiqué. Entity is required
BillDate n’est pas postérieure à la date du jour. Bill Date cannot be in the future
BillDate est indiquée et date de 5 ans au plus. Bill Date cannot be older than 5 years
La facture fournisseur n’est pas validée. Bill is already validated
CurrCode est indiqué. Bill Currency is required
DueDate, si elle est indiquée, n’est pas antérieure à la date de la facture. Bill Due Date must be same or later than Bill Date
Received est indiquée et n’est pas antérieure à la date de la facture. Bill Received cannot be earlier than Bill Date
BillActual est indiqué et ne vaut pas 0. Billed Amount is required
BillActual a au plus 13 chiffres avant le séparateur décimal. Billed Amount is too large.
TaxAmount représente au plus un quart de BillActual. Tax Amount cannot exceed 25% of Billed Amount
TaxAmount a le même signe que BillActual. Tax Amount and Billed Amount must have the same sign
Remarks et ExtRemarks ne contiennent pas de HTML : pas de < suivi d’une lettre, et ils ne commencent pas par =, + ou @. Internal Remarks has possible html tags or disallowed text, External Remarks has possible html tags or disallowed text
BillNumber est indiqué. Bill Number is required
BillNumber ne contient pas de HTML, selon la même règle que les remarques. Bill Number contains invalid characters
BillNumber a au plus 30 caractères, sans compter ses espaces. Bill Number cannot exceed 30 characters
Les contrôles propres à votre société pour l’enregistrement des factures fournisseurs, s’il y en a (voir Validations et actions). Le message du contrôle
L’entité n’a pas d’autre facture fournisseur avec ce numéro. Bill Number specified already exists for this entity and office
La société, l’entité, le type d’entité et la devise existent dans TrakIT. Unable to create Bill: ..., avec Code -1

Quand une facture fournisseur est créée, Code vaut 1 et Identity est l’identifiant de la nouvelle facture fournisseur. RetInfo vaut null : lisez la facture fournisseur avec GetBill.

{
"Code": 1,
"Info": "",
"RetInfo": null,
"RowsAffected": 0,
"Scalar": null,
"Identity": 109827
}

Quand une facture fournisseur existante est enregistrée, Code vaut 1 et Identity vaut 0.

Pour modifier le centre de profit d’une facture fournisseur qui n’est pas validée, envoyez son BillID avec ProfitCenter. SaveBill définit le centre de profit de la facture fournisseur et conserve ses autres informations telles quelles ; il les vérifie tout de même selon les règles ci-dessus. Modifiez les autres informations de la facture fournisseur sur sa page dans TrakIT : voir Modifier la facture fournisseur.

{
"BillID": 109827,
"ProfitCenter": "TRUCKING"
}
  • L’enregistrement d’une facture fournisseur a les mêmes effets que sur la page : il est inscrit dans le journal des actions de la facture fournisseur, les actions propres à votre société pour les factures fournisseurs s’exécutent, le taux de change de la facture fournisseur est de nouveau défini à partir des taux de change de votre société, et les champs de données calculés sont recalculés.
  • Une nouvelle facture fournisseur envoie la notification Created des factures fournisseurs aux utilisateurs qui y sont abonnés (voir Notifications).
  • Un numéro de facture ne peut être utilisé qu’une fois par entité. Si une requête expire et que vous ne savez pas si la facture fournisseur a été créée, recherchez-la avec GetBillList (DateType Added) avant de l’envoyer à nouveau.