Calculateur de marge de livraison : gain ou perte
Les recettes de livraison ne constituent pas automatiquement un bénéfice. Une boutique peut facturer la livraison lors du paiement, puis régler un autre montant au transporteur et consommer des emballages.
Lancer gratuitement
Ce calculateur compare ces chiffres sur une base commune. Saisissez les frais demandés au client, la facture réelle du transporteur et le coût d’emballage d’un envoi. Le résultat présente le coût total, le gain ou la perte, puis le taux de marge lorsque les recettes sont positives.
Saisissez des montants comparables pour un envoi
Utilisez les frais de livraison réellement facturés au client, et non le prix du produit ou le total de la commande. Indiquez ensuite le coût du transporteur pour ce même colis et celui des consommables : carton, enveloppe, ruban, étiquette, calage ou accumulateur de froid. Conservez la même devise et la même base fiscale. Pour une livraison gratuite, saisissez zéro ; l’outil affichera la dépense comme une perte. Préférez la facture finale du transporteur, car un tarif d’étiquette estimé peut évoluer après correction d’adresse, poids volumétrique ou supplément résidentiel. Ne rattachez pas un achat mensuel d’emballages à un seul colis : calculez d’abord un coût unitaire raisonnable. Zéro est accepté lorsqu’un coût ne s’applique pas, mais chaque valeur doit être un nombre fini et positif ou nul, sans symbole monétaire ni séparateur de milliers.
Interprétez correctement gain, perte et marge
Le calculateur additionne le transport et l’emballage afin d’obtenir le coût réel, puis soustrait ce total des frais facturés. Une valeur positive représente un gain, une valeur négative une perte et zéro l’équilibre ; le résultat fournit aussi cette qualification. Si les frais sont supérieurs à zéro, le taux de marge divise le gain ou la perte par ces recettes et multiplie par cent. Par exemple, 12.99 facturés, 8.40 de transport et 1.35 d’emballage donnent un coût de 9.75, un gain de 3.24 et une marge d’environ 24.94 pour cent. Pour une livraison gratuite, le pourcentage est omis car une division par zéro n’a aucun sens, mais la perte absolue demeure. Les résultats sont arrondis à deux décimales. Il s’agit d’une marge sur recettes et non d’un taux de marque calculé sur le coût.
Intégrez le résultat à votre politique de livraison
Examinez ensemble la valeur absolue et le taux. Une marge positive peut couvrir la préparation ou des régularisations, mais des frais excessifs peuvent réduire la conversion ou enfreindre les règles d’une place de marché. Une perte peut être volontaire lorsque la livraison subventionnée soutient la marge produit, l’acquisition ou un minimum de commande. Traitez-la alors comme un coût promotionnel et vérifiez que le reste de la commande l’absorbe. Répétez le calcul par service, zone, format et canal afin de révéler les écarts masqués par les moyennes. L’outil inclut uniquement les frais client, le transporteur et les matériaux. Il n’ajoute ni main-d’œuvre, préparation, assurance, droits, paiement, retour, réexpédition, stockage, logiciel ou marge produit. Pour un audit, conservez la sortie avec la commande, la facture et la source du coût d’emballage. Les mêmes entrées donnent toujours le même résultat ; chaque calcul API coûte $0.002.
Cas d’usage
Auditer les commandes terminées
Comparez les frais du paiement à la facture finale et aux matériaux consommés.
Tester un tarif forfaitaire
Repérez les profils pour lesquels un tarif unique génère un gain ou une perte.
Évaluer la livraison gratuite
Mesurez le coût que la marge produit doit absorber lorsque le client ne paie pas la livraison.
Questions fréquentes
Quelle formule est utilisée ?
Le coût réel additionne transporteur et emballage. Le gain ou la perte correspond aux frais facturés moins ce coût ; la marge divise ce résultat par les frais et multiplie par cent.
Que se passe-t-il avec la livraison gratuite ?
Saisissez zéro. Le coût est présenté comme une perte et le pourcentage est omis puisque les recettes sont nulles.
Faut-il inclure la main-d’œuvre ?
Le champ d’emballage vise les consommables. N’ajoutez le travail que si vous disposez d’un montant fiable par envoi.
L’outil consulte-t-il les transporteurs ?
Non. Vous fournissez le coût réel ou estimé pertinent pour l’envoi.
Marge et majoration sont-elles identiques ?
Non. La marge utilise les recettes comme dénominateur ; la majoration utilise généralement le coût.
Quel est le prix de l’API ?
Chaque requête coûte $0.002. Le calculateur web applique la même arithmétique déterministe.
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/ecom/shipping-margin \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"shipping_fee":12.99,"carrier_cost":8.4,"packaging_cost":1.35}'const res = await fetch("https://api.kit.forhosting.com/ecom/shipping-margin", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"shipping_fee": 12.99,
"carrier_cost": 8.4,
"packaging_cost": 1.35
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/shipping-margin",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"shipping_fee": 12.99,
"carrier_cost": 8.4,
"packaging_cost": 1.35
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/shipping-margin", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"shipping_fee":12.99,"carrier_cost":8.4,"packaging_cost":1.35}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"shipping_fee":12.99,"carrier_cost":8.4,"packaging_cost":1.35}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/shipping-margin", 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
{
"shipping_fee": 12.99,
"carrier_cost": 8.4,
"packaging_cost": 1.35
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.shipping_margin",
"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.
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. |