Générez un bordereau de colis sans prix
La commande ORD-10482, avec 2 lignes et 3 unités au total, devient un bordereau numéroté avec l’adresse de livraison et les quantités, sans prix, taxes ni données de facturation. Indiquez le numéro de commande, l’adresse et les articles. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Créez un bordereau à placer dans votre colis sans le transformer en facture. Indiquez le numéro de commande, une adresse de livraison structurée et un ou plusieurs articles avec leurs quantités. Le générateur valide les données, numérote chaque ligne, calcule le nombre total d’unités et renvoie des champs structurés réutilisables ainsi qu’un document texte prêt à imprimer. Les prix, taxes, modalités de paiement et informations de facturation sont volontairement exclus afin de réserver le résultat à la préparation, au contrôle du destinataire et au contenu du colis.
Composez le document avec les données d’expédition
Un bordereau répond à une question concrète en entrepôt : que doit contenir ce colis et où doit-il être livré ? Commencez par le numéro employé par votre boutique, votre entrepôt ou votre système de gestion des commandes. Saisissez ensuite le destinataire et la destination dans des champs structurés afin que chaque élément reste réutilisable.
Ajoutez chaque produit préparé sur une ligne distincte avec un nom, une quantité entière positive et, si nécessaire, un SKU. Le générateur conserve l’ordre fourni, attribue des numéros de ligne visibles, normalise les espaces superflus et calcule le nombre de lignes ainsi que le total des unités. Vous obtenez un objet structuré pour vos automatisations et un bordereau texte à imprimer, enregistrer ou intégrer dans une autre mise en page.
Aucune donnée manquante n’est inventée. Une demande sans article échoue donc au lieu de produire un document d’expédition vide et trompeur.
Distinguez le bordereau de la facture
Un bordereau et une facture peuvent concerner la même commande, mais leurs fonctions diffèrent. La facture demande ou consigne un paiement et comporte souvent prix unitaires, remises, taxes, totaux, adresse de facturation, instructions de paiement et mentions juridiques. Cette capacité ne produit aucun de ces champs.
Elle désigne clairement le document comme bordereau et fournit uniquement la référence de commande, la destination, l’identité et la quantité des articles, les décomptes et une présentation imprimable. Cette séparation convient aux cadeaux, aux organisations qui transmettent les documents financiers par un autre canal et aux équipes d’entrepôt qui n’ont pas besoin des conditions commerciales. Elle empêche aussi un système en aval d’interpréter un document logistique comme la preuve d’une somme due.
Pour la comptabilité ou l’encaissement, utilisez un processus de facturation dédié. Ici, les quantités servent seulement à comparer le contenu physique à la commande sans divulguer les prix.
Validez, imprimez et automatisez avec cohérence
Utilisez la réponse structurée pour archiver le bordereau, reporter les lignes dans un modèle PDF, créer un dossier d’étiquettes ou comparer les quantités préparées aux lectures d’un scanner. Choisissez le document texte lorsqu’un encart simple et lisible suffit. Les éléments obligatoires de l’adresse sont vérifiés séparément ; société, deuxième ligne, région, code postal et SKU sont omis lorsqu’ils sont vides, et ne deviennent jamais des valeurs nulles.
Les quantités doivent être des entiers positifs, ce qui évite les lignes ambiguës à zéro ou fractionnaires. Le générateur est déterministe : une entrée identique donne une sortie identique, sans réseau, horodatage actuel, identifiant aléatoire, consultation du stock ni enrichissement produit. Il ne confirme ni la disponibilité, ni la validité de l’adresse auprès d’un transporteur, ni l’expédition réelle.
Effectuez ces contrôles dans vos systèmes spécialisés avant de considérer le bordereau comme une autorisation d’envoi.
Cas d’usage
Ajoutez un bordereau à un colis de commerce en ligne
Transformez les lignes préparées en encart lisible sans révéler les prix ni les informations de paiement.
Facilitez le contrôle de préparation
Donnez au personnel des lignes numérotées et un total d’unités à comparer au contenu du carton.
Consignez les envois de remplacement
Créez un relevé du contenu pour un remplacement ou une garantie lorsqu’une facture serait inadaptée.
Questions fréquentes
Le bordereau affiche-t-il les prix ?
Non. Les prix, remises, taxes, modalités de paiement et totaux de facture sont volontairement exclus.
Que se passe-t-il si la liste d’articles est vide ?
La demande échoue avec une erreur de saisie, car le bordereau doit contenir au moins un article.
Un article peut-il ne pas avoir de SKU ?
Oui. Le nom et une quantité entière positive sont obligatoires ; le SKU reste facultatif et disparaît s’il est vide.
L’adresse est-elle validée auprès d’un transporteur ?
Non. Les champs requis sont contrôlés et mis en forme, mais la livrabilité n’est pas vérifiée et aucun transporteur n’est contacté.
Quelle différence entre un bordereau de colis et une facture ?
Le bordereau indique ce que contient le colis et où il va ; la facture enregistre un paiement avec prix, taxes et conditions. Ce document exclut volontairement toute donnée financière, ce qui est utile pour un cadeau.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/doc/packing-slip-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"order_number":"ORD-10482","shipping_address":{"name":"Morgan Lee","company":"Northwind Studio","address_line_1":"48 Harbor Street","address_line_2":"Suite 3B","city":"Portland","region":"ME","postal_code":"04101","country":"US"},"items":[{"name":"Canvas Tool Roll","quantity":2,"sku":"CTR-NAVY"},{"name":"Brass Measuring Gauge","quantity":1,"sku":"BMG-01"}]}'const res = await fetch("https://api.kit.forhosting.com/doc/packing-slip-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"order_number": "ORD-10482",
"shipping_address": {
"name": "Morgan Lee",
"company": "Northwind Studio",
"address_line_1": "48 Harbor Street",
"address_line_2": "Suite 3B",
"city": "Portland",
"region": "ME",
"postal_code": "04101",
"country": "US"
},
"items": [
{
"name": "Canvas Tool Roll",
"quantity": 2,
"sku": "CTR-NAVY"
},
{
"name": "Brass Measuring Gauge",
"quantity": 1,
"sku": "BMG-01"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/packing-slip-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"order_number": "ORD-10482",
"shipping_address": {
"name": "Morgan Lee",
"company": "Northwind Studio",
"address_line_1": "48 Harbor Street",
"address_line_2": "Suite 3B",
"city": "Portland",
"region": "ME",
"postal_code": "04101",
"country": "US"
},
"items": [
{
"name": "Canvas Tool Roll",
"quantity": 2,
"sku": "CTR-NAVY"
},
{
"name": "Brass Measuring Gauge",
"quantity": 1,
"sku": "BMG-01"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/packing-slip-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"order_number":"ORD-10482","shipping_address":{"name":"Morgan Lee","company":"Northwind Studio","address_line_1":"48 Harbor Street","address_line_2":"Suite 3B","city":"Portland","region":"ME","postal_code":"04101","country":"US"},"items":[{"name":"Canvas Tool Roll","quantity":2,"sku":"CTR-NAVY"},{"name":"Brass Measuring Gauge","quantity":1,"sku":"BMG-01"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"order_number":"ORD-10482","shipping_address":{"name":"Morgan Lee","company":"Northwind Studio","address_line_1":"48 Harbor Street","address_line_2":"Suite 3B","city":"Portland","region":"ME","postal_code":"04101","country":"US"},"items":[{"name":"Canvas Tool Roll","quantity":2,"sku":"CTR-NAVY"},{"name":"Brass Measuring Gauge","quantity":1,"sku":"BMG-01"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/packing-slip-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"order_number": "ORD-10482",
"shipping_address": {
"name": "Morgan Lee",
"company": "Northwind Studio",
"address_line_1": "48 Harbor Street",
"address_line_2": "Suite 3B",
"city": "Portland",
"region": "ME",
"postal_code": "04101",
"country": "US"
},
"items": [
{
"name": "Canvas Tool Roll",
"quantity": 2,
"sku": "CTR-NAVY"
},
{
"name": "Brass Measuring Gauge",
"quantity": 1,
"sku": "BMG-01"
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.packing_slip_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
max_pages | 200 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Questions techniques
Combien coûte une requête API ?
Chaque requête API coûte $0.002. La version déterministe du navigateur fonctionne sans transmettre les données d’expédition à un modèle distant.