Tiime
SDK TypeScript

Factures

Créer, lister, modifier, envoyer et télécharger des factures

Accès via client.invoices.

list

Lister les factures avec pagination.

invoices.ts
const invoices = await client.invoices.list({
  status: "paid",
  sorts: "invoice_number:desc",
  page: 1,
  pageSize: 25,
});

Paramètres (InvoicesListParams) :

ChampTypeDéfautDescription
statusstringFiltrer par statut : draft, saved, sent, paid
sortsstring"invoice_number:desc"Tri (ex: emission_date:asc)
pagenumber1Numéro de page
pageSizenumber25Nombre de résultats par page

Retour : Promise<Invoice[]>

listAll

Récupérer toutes les factures avec pagination automatique.

invoices.ts
const all = await client.invoices.listAll({ status: "sent" });
ChampTypeDéfautDescription
statusstringFiltrer par statut
sortsstring"invoice_number:desc"Tri
pageSizenumber100Taille de chaque page (interne)

Retour : Promise<Invoice[]>

Cette méthode itère automatiquement sur toutes les pages jusqu'à récupérer l'ensemble des résultats.

get

Récupérer les détails d'une facture.

invoices.ts
const invoice = await client.invoices.get(42);
ParamètreTypeDescription
invoiceIdnumberID de la facture

Retour : Promise<Invoice>

create

Créer une nouvelle facture.

invoices.ts
const invoice = await client.invoices.create({
  emission_date: "2026-03-01",
  client: { id: 100 },
  lines: [
    {
      description: "Prestation de conseil",
      quantity: 5,
      unit_amount: 800,
      vat_type: { code: "normal" },
      invoicing_unit: { id: 3, code: "day" },
    },
  ],
  status: "draft",
});

Paramètres (InvoiceCreateParams) :

ChampTypeObligatoireDescription
emission_datestringouiDate d'émission (YYYY-MM-DD)
linesInvoiceLine[]ouiLignes de la facture
client{ id: number }Client existant
client_namestringNom du client (si pas de client)
client_addressstringAdresse du client
client_postal_codestringCode postal du client
client_citystringVille du client
client_country_codestringCode pays du client
client_siren_or_siretstring | nullSIREN/SIRET du client
status"draft" | "saved"Statut (défaut: draft)
titlestring | nullTitre de la facture
title_enabledbooleanActiver le titre
due_datestringDate d'échéance
due_date_modestringMode d'échéance
templatestringTemplate de facture
free_fieldstringChamp libre
free_field_enabledbooleanActiver le champ libre
discount_enabledbooleanActiver les remises
bank_detail_enabledbooleanAfficher les coordonnées bancaires
payment_conditionstringConditions de paiement
payment_condition_enabledbooleanActiver les conditions de paiement
ibanstringIBAN
bicstringBIC

InvoiceLine :

ChampTypeObligatoireDescription
descriptionstringouiDescription de la ligne
quantitynumberouiQuantité
unit_amountnumberouiPrix unitaire HT
vat_type{ code: string }ouiType de TVA ("normal", "reduced", etc.)
invoicing_unit{ id: number, code: string }Unité de facturation
invoicing_category_typestringType de catégorie (défaut: "benefit")
article{ id: number }Article du catalogue
sequencenumberOrdre de la ligne (défaut: 1)
discount_descriptionstringDescription de la remise
discount_amountnumber | nullMontant de la remise
discount_percentagenumber | nullPourcentage de la remise

Retour : Promise<Invoice>

Les champs line_amount, sequence, invoicing_category_type, discount_description, discount_amount et discount_percentage sont calculés ou définis automatiquement si non fournis.

update

Modifier une facture existante.

invoices.ts
await client.invoices.update(42, {
  title: "Nouveau titre",
  due_date: "2026-04-15",
});
ParamètreTypeDescription
invoiceIdnumberID de la facture
paramsPartial<InvoiceCreateParams>Champs à modifier

Retour : Promise<Invoice>

duplicate

Dupliquer une facture existante en tant que nouveau brouillon.

invoices.ts
const copy = await client.invoices.duplicate(42, {
  emission_date: "2026-04-01",
  quantity: 18,
});
ParamètreTypeDescription
invoiceIdnumberID de la facture source
overrides.emission_datestringNouvelle date d'émission (défaut: aujourd'hui)
overrides.quantitynumberNouvelle quantité pour toutes les lignes

Retour : Promise<Invoice>

La facture dupliquée est toujours créée avec le statut draft. Le client, le titre et les lignes sont copiés depuis la source.

send

Envoyer une facture par email.

invoices.ts
await client.invoices.send(42, {
  recipients: [{ email: "client@example.com" }],
  subject: "Facture mars 2026",
  message: "Veuillez trouver ci-joint...",
});

Paramètres (InvoiceSendParams) :

ChampTypeObligatoireDescription
recipients{ email: string }[]ouiDestinataires
subjectstringSujet de l'email
messagestringCorps de l'email

Retour : Promise<void>

downloadPdf

Télécharger le PDF d'une facture.

invoices.ts
const pdf = await client.invoices.downloadPdf(42);
// pdf est un ArrayBuffer
ParamètreTypeDescription
invoiceIdnumberID de la facture

Retour : Promise<ArrayBuffer>

delete

Supprimer un brouillon de facture.

invoices.ts
await client.invoices.delete(42);
ParamètreTypeDescription
invoiceIdnumberID de la facture

Retour : Promise<void>

Type Invoice

ChampTypeDescription
idnumberIdentifiant unique
client_idnumber | nullID du client
client_namestringNom du client
compiled_numberstringNuméro de facture formaté
emission_datestringDate d'émission
numbernumber | nullNuméro de facture
statusstringStatut (draft, saved, sent, paid)
titlestring | nullTitre
templatestringTemplate utilisé
total_excluding_taxesnumberTotal HT
total_including_taxesnumberTotal TTC
due_datestringDate d'échéance
linesInvoiceLine[]Lignes de la facture
typestringType de facture
tagsTag[]Tags associés

On this page