Calculateur COGS
Ouvrez avec 20 000 de stock, achetez 80 000, clôturez avec 15 000 : votre coût des marchandises vendues est de 85 000. Saisissez le stock initial, les achats nets et l'inventaire final de n'importe quelle période pour obtenir le COGS à la clôture. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Stock initial
- 20 000
- Achats
- 80 000
- Stock final
- 15 000
- Marchandises disponibles
- 100 000
- Coût des ventes
- 85 000
Le coût des marchandises vendues, presque toujours abrégé COGS au compte de résultat, est le coût de stock des marchandises qu'une entreprise a réellement vendues pendant une période. L'identité périodique est stock initial plus achats moins stock final. Comptables, commerçants et étudiants en comptabilité utilisent cette formule à trois termes à chaque clôture. Ce calculateur de COGS accepte ces trois montants finis, renvoie le coût des marchandises vendues et rejette un stock initial ou final négatif afin que l'identité ne consomme jamais un chiffre de stock impossible.
Ce que mesure le COGS et l'identité périodique des stocks
Le coût des marchandises vendues est le coût rattaché aux unités qui ont quitté le stock parce qu'un client les a achetées, non le coût des unités encore en rayon. Dans un système périodique de marchandises, vous ne suivez pas chaque vente sur une fiche de stock perpétuelle ; vous reconstituez le coût vendu en fin de période avec une identité à trois lignes : stock initial, plus achats nets de la période, moins stock final inventorié ou valorisé à la clôture.
Cette identité est la définition que ce calculateur met en œuvre. Le stock initial est l'actif marchandises avec lequel les livres ont ouvert. Les achats sont le coût net des marchandises entrées pendant la fenêtre — le coût de facture des marchandises acquises pour la revente.
Le stock final est la marchandise encore invendue à la clôture de la période. Soustraire ce reliquat des marchandises disponibles à la vente (initial plus achats) isole la part vendue, qui est le COGS. Un magasin qui a ouvert avec vingt mille, acheté quatre-vingts mille et clôturé avec quinze mille a un coût des marchandises vendues de quatre-vingt-cinq mille, parce que vingt plus quatre-vingts moins quinze égale quatre-vingt-cinq.
Un stock d'ouverture nul est autorisé : un revendeur nouveau peut avoir un stock initial de zéro et calculer néanmoins le COGS à partir des achats et du comptage de clôture. Des achats nuls sont autorisés lorsque la période n'a vendu que du stock déjà détenu. Un stock initial ou final négatif n'est pas un chiffre de stock ; c'est une erreur de données, et ce calculateur le refuse au lieu d'inventer un coût vendu à partir d'un rayon impossible.
Conservez les trois entrées dans la même monnaie et la même période. Mélanger une année d'achats avec un comptage de fin de mois est la façon dont un chiffre de COGS ment en silence. La formule est volontairement trois étapes arithmétiques afin que corrigés, oracles LMS et cahiers de clôture partagent une définition reproductible sans dérive d'arrondi intermédiaire dans le tableur.
Où un calculateur de COGS justifie sa place
Les personnes qui tapent cogs dans un champ de recherche connaissent déjà le sigle et veulent le chiffre de coût vendu, pas une leçon qui commence par les systèmes d'inventaire perpétuel contre périodique.
Un éditeur qui se classe sur cette requête courte sert des commerçants qui ont un comptage d'ouverture, un total d'achats et un comptage de clôture, des étudiants qui doivent remplir la section coût des marchandises vendues d'un compte de résultat, et des comptables qui ont besoin d'un oracle déterministe qui refuse une valeur de stock négative au lieu de produire en silence une charge absurde.
Les petits détaillants qui tiennent un cahier de fin de mois veulent le même chiffre initial-plus-achats-moins-final que les analystes écrivent sur des diapositives, sans erreurs de main lorsque les décimales de la monnaie changent. Les cours en classe et de certification qui enseignent la méthode périodique des stocks ont besoin d'un service qui renvoie le COGS et les marchandises disponibles et rien d'autre, afin qu'un correcteur compare à une clé de manuel sans que cet outil prétende tenir un grand livre complet. Une validation échouée ne consomme pas le solde.
Associez cette capacité à un outil séparé de marge brute ou de rotation des stocks lorsque vous avez besoin de ces identités ; gardez cette surface centrée sur le coût de marchandise que les gens veulent dire lorsqu'ils cherchent cogs.
Cas d’usage
Clôture mensuelle de marchandises
Saisissez le stock d'ouverture, les achats nets et le comptage de clôture pour publier le COGS de la période sans reconstruire l'identité dans un tableur.
Préparation de la marge brute sans prendre les ventes
Calculez d'abord le coût des marchandises vendues, puis soustrayez-le des ventes nettes dans votre propre cahier ; cet outil ne renvoie que le COGS.
Questions fréquentes
Comment calcule-t-on le COGS ?
Le coût des marchandises vendues égale le stock initial plus les achats moins le stock final. Exemple : 20000 + 80000 − 15000 = 85000.
Que se passe-t-il si une valeur de stock est négative ?
Un stock initial ou final négatif n'est pas un chiffre de stock, donc la requête est rejetée et n'est pas facturée.
Le stock initial ou les achats peuvent-ils être nuls ?
Oui. Un magasin nouveau peut ouvrir avec un stock nul, et une période peut n'avoir aucun achat. Seul le stock négatif (ou les achats négatifs) est rejeté.
Ceci utilise-t-il FIFO, LIFO ou le fret d'entrée ?
Non. Le calculateur n'applique que l'identité périodique. Intégrez fret d'entrée, retours et costing par couches dans les trois entrées avant d'appeler.
Pourquoi les trois chiffres doivent-ils couvrir la même période ?
Parce que le COGS ne tient que si le stock initial, les achats et l'inventaire final décrivent la même fenêtre et la même devise. Mélanger une année d'achats avec un inventaire de fin de mois donne un chiffre qui semble juste mais qui est faux.
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/fin/cogs \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"beginning_inventory":20000,"purchases":80000,"ending_inventory":15000}'const res = await fetch("https://api.kit.forhosting.com/fin/cogs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"beginning_inventory": 20000,
"purchases": 80000,
"ending_inventory": 15000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/cogs",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"beginning_inventory": 20000,
"purchases": 80000,
"ending_inventory": 15000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/cogs", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"beginning_inventory":20000,"purchases":80000,"ending_inventory":15000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"beginning_inventory":20000,"purchases":80000,"ending_inventory":15000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/cogs", 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
{
"beginning_inventory": 20000,
"purchases": 80000,
"ending_inventory": 15000
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.cogs",
"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. |
Notes techniques
Les appels réussis sont facturés à $0.002 ; une entrée invalide n'est pas débitée.
Contrat d'entrée, forme de la réponse et validation
Un montant d'achats négatif est également rejeté. Exemple : stock initial vingt mille, achats quatre-vingts mille et stock final quinze mille donnent marchandises disponibles cent mille et coût des marchandises vendues quatre-vingt-cinq mille. Préférez les nombres nus aux chaînes formatées ; les marques de monnaie, séparateurs de milliers et libellés d'unité en fin de chaîne ne sont pas analysés. Cet outil ne prend pas le fret d'entrée, les retours d'achat ni les ristournes comme lignes séparées, et n'alloue pas de couches FIFO ou LIFO ; intégrez ces ajustements dans purchases ou dans les valeurs de stock avant d'appeler. Envoyez un corps JSON avec trois nombres finis obligatoires dans la même monnaie et la même fenêtre de reporting. beginning_inventory est la marchandise en main au début de la période et doit être supérieur ou égal à zéro ; les alias beginning, begin_inventory, opening_inventory, opening et bi sont acceptés afin qu'un export du grand livre n'ait pas besoin d'une étape de renommage. purchases est la marchandise nette achetée pendant la fenêtre et doit aussi être non négatif ; les alias net_purchases, merchandise_purchases et p sont acceptés. ending_inventory est la marchandise encore en main à la clôture et doit être non négatif ; les alias ending, end_inventory, closing_inventory, closing et ei sont acceptés. Chaque champ peut arriver comme nombre JSON ou comme chaîne numérique qui correspond à un motif décimal fini strict. Champs manquants, chaînes vides, valeurs non finies ou toute valeur de stock négative échouent avec invalid_input en nommant le champ et ne sont pas facturés. En cas de succès le corps répète beginning_inventory, purchases et ending_inventory arrondis, renvoie goods_available comme initial plus achats, renvoie cogs comme marchandises disponibles moins stock final, et inclut une chaîne de formule qui reformule l'identité afin qu'un tableau de bord imprime la définition à côté du nombre. Le prix d'un élément réussi est un $0.002 forfaitaire.
Où un calculateur de COGS justifie sa place
Parce que l'implémentation est du code analytique parse de palier tier A, chaque appel réussi reste bon marché à $0.002 sans jetons de modèle et sans réseau sortant. Gardez les requêtes petites, figez cogs et goods_available arrondis dans les tests, et vous obtenez un coût des marchandises vendues reproductible pour devoirs, générateurs d'examens et cahiers de clôture légers sans dresser un sous-grand-livre de stocks complet.
Cas d'intégration
Oracles de devoirs et de compte de résultat
Les étudiants calculent COGS = initial + achats − final à la main et comparent à un résultat déterministe qui refuse une valeur de stock négative comme invalid_input.
Questions techniques
Combien coûte le calculateur de COGS ?
L'outil du navigateur est gratuit. Les requêtes API utilisent un solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.