{"product_id":"ending-inventory","title":"Ending Inventory Calculator","description":"\u003cstyle\u003e\n.ei-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  color: var(--ink);\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15,23,42,.06);\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  overflow-wrap: anywhere;\n}\n.ei-calculator,\n.ei-calculator *,\n.ei-calculator *::before,\n.ei-calculator *::after { box-sizing: border-box; }\n.ei-calculator * { min-width: 0; }\n.ei-calculator button,\n.ei-calculator input,\n.ei-calculator select { font: inherit; }\n.ei-calculator button { touch-action: manipulation; }\n.ei-calculator a { color: var(--primary); text-decoration-thickness: 1px; text-underline-offset: 2px; }\n.ei-calculator a:hover { text-decoration-thickness: 2px; }\n.ei-calculator :focus-visible { outline: 3px solid rgba(29,78,216,.35); outline-offset: 2px; }\n.ei-header { padding: 24px 24px 16px; border-bottom: 1px solid var(--border); background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); border-radius: 8px 8px 0 0; }\n.ei-header h2 { margin: 0; font-size: 24px; line-height: 1.25; font-weight: 700; letter-spacing: -.02em; }\n.ei-subtitle { margin: 8px 0 0; color: var(--muted); max-width: 780px; }\n.ei-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }\n.ei-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 13px; font-weight: 500; }\n.ei-pill strong { color: var(--ink); font-variant-numeric: tabular-nums; }\n.ei-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 16px 24px; border-bottom: 1px solid var(--border); }\n.ei-button { min-height: 44px; border-radius: 6px; padding: 11px 18px; border: 1px solid var(--border); background: var(--surface); color: var(--ink); cursor: pointer; font-weight: 650; line-height: 1.2; box-shadow: 0 1px 2px rgba(15,23,42,.06); }\n.ei-button:hover { box-shadow: 0 2px 5px rgba(15,23,42,.12); }\n.ei-download { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; background: var(--accent); color: #ffffff; border-color: var(--accent); }\n.ei-download:hover, .ei-download:active { background: var(--accent-hover); border-color: var(--accent-hover); }\n.ei-download-icon { font-size: 19px; line-height: 1; }\n.ei-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 24px; background: var(--tint); }\n.ei-panel { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 20px; box-shadow: 0 1px 2px rgba(15,23,42,.04); }\n.ei-panel h3, .ei-section h3 { margin: 0 0 16px; font-size: 18px; line-height: 1.35; font-weight: 650; }\n.ei-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }\n.ei-field { display: flex; flex-direction: column; gap: 8px; }\n.ei-field-full { grid-column: 1 \/ -1; }\n.ei-label { display: block; font-size: 14px; font-weight: 600; color: var(--ink); }\n.ei-control { width: 100%; min-height: 44px; border: 1px solid #cbd5e1; border-radius: 6px; background: #ffffff; color: var(--ink); padding: 10px 12px; font-size: 15px; font-variant-numeric: tabular-nums; }\n.ei-control:hover { border-color: #94a3b8; }\n.ei-control[aria-invalid=\"true\"] { border-color: #b91c1c; }\n.ei-help { min-height: 40px; margin: 0; color: var(--muted); font-size: 13px; font-weight: 500; line-height: 1.45; }\n.ei-error { min-height: 20px; margin: 0; color: #991b1b; font-size: 13px; font-weight: 600; }\n.ei-mode-note { margin: 4px 0 0; padding: 10px 12px; border: 1px solid #bfdbfe; border-radius: 6px; background: #eff6ff; color: #1e3a8a; font-size: 13px; font-weight: 500; }\n.ei-results-top { padding: 16px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; }\n.ei-primary-label { margin: 0; color: #1e3a8a; font-size: 13px; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; }\n.ei-primary-value { margin: 4px 0 0; font-size: 30px; line-height: 1.2; font-weight: 700; color: #172554; font-variant-numeric: tabular-nums; }\n.ei-primary-summary { margin: 8px 0 0; color: #1e3a8a; font-size: 13px; font-weight: 500; }\n.ei-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }\n.ei-metric { padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }\n.ei-metric-label { display: block; color: var(--muted); font-size: 13px; font-weight: 600; }\n.ei-metric-value { display: block; margin-top: 4px; font-size: 20px; line-height: 1.25; font-weight: 700; font-variant-numeric: tabular-nums; }\n.ei-callout { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; font-weight: 500; }\n.ei-sections { display: grid; gap: 24px; padding: 0 24px 24px; background: var(--tint); }\n.ei-section { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 20px; box-shadow: 0 1px 2px rgba(15,23,42,.04); }\n.ei-section-head { margin-bottom: 16px; }\n.ei-section-head h3 { margin-bottom: 4px; }\n.ei-section-head p { margin: 0; color: var(--muted); font-size: 13px; font-weight: 500; }\n.ei-chart-cluster { display: grid; grid-template-columns: minmax(220px, 320px) minmax(260px, 1fr); align-items: center; justify-content: center; gap: 24px; max-width: 760px; margin: 0 auto; }\n.ei-chart-visual { display: grid; place-items: center; width: 100%; min-height: 280px; }\n.ei-chart-svg { display: block; width: min(100%, 320px); height: auto; aspect-ratio: 1 \/ 1; overflow: visible; }\n.ei-chart-side { display: grid; gap: 12px; align-content: center; }\n.ei-legend { display: grid; gap: 10px; }\n.ei-legend-row { display: grid; grid-template-columns: 12px minmax(90px, max-content) max-content max-content; align-items: center; justify-content: start; column-gap: 12px; row-gap: 4px; font-size: 13px; font-weight: 500; }\n.ei-swatch { width: 12px; height: 12px; border-radius: 3px; }\n.ei-legend-name { color: var(--ink); }\n.ei-legend-value, .ei-legend-share { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }\n.ei-chart-caption { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; font-weight: 500; }\n.ei-chart-empty { width: 100%; max-width: 460px; margin: 0 auto; padding: 16px; border: 1px dashed #94a3b8; border-radius: 6px; background: var(--tint); color: var(--muted); text-align: center; font-size: 13px; font-weight: 600; }\n.ei-safe-stack .ei-chart-cluster { grid-template-columns: minmax(0, 1fr); max-width: 520px; row-gap: 20px; }\n.ei-safe-stack .ei-chart-visual { min-height: auto; }\n.ei-safe-stack .ei-chart-side { justify-items: center; }\n.ei-safe-stack .ei-legend { width: 100%; max-width: 420px; }\n.ei-chart-table-wrap, .ei-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; }\n.ei-chart-table-wrap { margin-top: 16px; }\n.ei-table { width: 100%; min-width: 620px; border-collapse: collapse; font-variant-numeric: tabular-nums; }\n.ei-table th, .ei-table td { padding: 11px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }\n.ei-table th { background: #0f172a; color: #ffffff; font-size: 13px; font-weight: 650; }\n.ei-table td { font-size: 14px; }\n.ei-table tr:last-child td { border-bottom: 0; }\n.ei-table td:last-child, .ei-table th:last-child { text-align: right; }\n.ei-table tr:hover td { background: #fafafa; }\n.ei-table-note { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; font-weight: 500; }\n.ei-safe-table-stack .ei-table-note { margin-top: 20px; }\n.ei-education { padding: 24px; border-top: 1px solid var(--border); background: #ffffff; border-radius: 0 0 8px 8px; }\n.ei-education-inner { max-width: 900px; margin: 0 auto; }\n.ei-education h2 { margin: 28px 0 10px; font-size: 20px; line-height: 1.35; font-weight: 700; }\n.ei-education h2:first-child { margin-top: 0; }\n.ei-education h3 { margin: 20px 0 8px; font-size: 17px; line-height: 1.4; font-weight: 650; }\n.ei-education p { margin: 0 0 12px; color: #334155; }\n.ei-education ul { margin: 0 0 14px; padding-left: 22px; }\n.ei-education li { margin: 6px 0; color: #334155; }\n.ei-formula { padding: 12px 14px; border-left: 4px solid var(--primary); background: #eff6ff; border-radius: 0 6px 6px 0; font-weight: 650; font-variant-numeric: tabular-nums; }\n.ei-hidden { display: none !important; }\n@media (min-width: 900px) {\n  .ei-workspace { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }\n}\n@media (max-width: 639px) {\n  .ei-header, .ei-toolbar, .ei-workspace, .ei-sections, .ei-education { padding-left: 16px; padding-right: 16px; }\n  .ei-workspace, .ei-sections { gap: 16px; }\n  .ei-panel, .ei-section { padding: 16px; }\n  .ei-form-grid, .ei-metric-grid { grid-template-columns: minmax(0, 1fr); }\n  .ei-chart-cluster { grid-template-columns: minmax(0, 1fr); max-width: 480px; gap: 16px; }\n  .ei-chart-visual { min-height: auto; }\n  .ei-chart-svg { width: min(100%, 280px); }\n  .ei-chart-side { justify-items: center; }\n  .ei-legend { width: 100%; max-width: 390px; }\n  .ei-legend-row { grid-template-columns: 12px minmax(80px, max-content) max-content; }\n  .ei-legend-share { grid-column: 2 \/ -1; padding-left: 0; }\n  .ei-chart-caption { margin-top: 12px; }\n  .ei-table-note { margin-top: 12px; }\n}\n@media (max-width: 380px) {\n  .ei-header { padding-top: 20px; }\n  .ei-toolbar { align-items: stretch; }\n  .ei-button { width: 100%; justify-content: center; }\n  .ei-primary-value { font-size: 27px; }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"ei-calculator\" data-calculator-root\u003e\n  \u003cheader class=\"ei-header\"\u003e\n    \u003ch2\u003eEnding Inventory Calculator\u003c\/h2\u003e\n    \u003cp class=\"ei-subtitle\"\u003eCalculate ending inventory, cost of goods sold, average inventory, and inventory turnover from one consistent accounting-period model.\u003c\/p\u003e\n    \u003cdiv class=\"ei-pills\" aria-label=\"Live calculation summary\"\u003e\n      \u003cspan class=\"ei-pill\"\u003eMode \u003cstrong data-ei-pill=\"mode\"\u003eCOGS known\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"ei-pill\"\u003eGoods available \u003cstrong data-ei-pill=\"available\"\u003e$55,000.00\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"ei-pill\"\u003eCOGS \u003cstrong data-ei-pill=\"cogs\"\u003e$40,000.00\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"ei-pill\"\u003eEnding inventory \u003cstrong data-ei-pill=\"ending\"\u003e$15,000.00\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/header\u003e\n  \u003cdiv class=\"ei-toolbar\" role=\"toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"ei-button ei-download\" type=\"button\" data-ei-action=\"download\"\u003e\u003cspan class=\"ei-download-icon\" aria-hidden=\"true\"\u003e⇩\u003c\/span\u003e\u003cspan\u003eDownload Excel\u003c\/span\u003e\u003c\/button\u003e\n    \u003cbutton class=\"ei-button\" type=\"button\" data-ei-action=\"reset\"\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"ei-workspace\"\u003e\n    \u003csection class=\"ei-panel\" aria-labelledby=\"ei-inputs-heading\"\u003e\n      \u003ch3 id=\"ei-inputs-heading\"\u003eInventory inputs\u003c\/h3\u003e\n      \u003cdiv class=\"ei-form-grid\"\u003e\n        \u003cdiv class=\"ei-field ei-field-full\"\u003e\n          \u003clabel class=\"ei-label\" for=\"ei-mode\"\u003eIs cost of goods sold known?\u003c\/label\u003e\n          \u003cselect class=\"ei-control\" id=\"ei-mode\" data-ei-input=\"mode\"\u003e\n            \u003coption value=\"known\" selected\u003eYes — calculate ending inventory\u003c\/option\u003e\n            \u003coption value=\"unknown\"\u003eNo — calculate cost of goods sold\u003c\/option\u003e\n            \u003coption value=\"\"\u003eChoose a calculation mode\u003c\/option\u003e\n          \u003c\/select\u003e\n          \u003cp class=\"ei-help\"\u003eChoose which accounting amount you already know. The calculator solves for the missing amount.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ei-field\"\u003e\n          \u003clabel class=\"ei-label\" for=\"ei-starting\"\u003eStarting inventory\u003c\/label\u003e\n          \u003cinput class=\"ei-control\" id=\"ei-starting\" data-ei-input=\"starting\" inputmode=\"decimal\" type=\"text\" value=\"$25,000.00\" autocomplete=\"off\" aria-describedby=\"ei-starting-help ei-starting-error\"\u003e\n          \u003cp class=\"ei-help\" id=\"ei-starting-help\"\u003eInventory value at the beginning of the accounting period.\u003c\/p\u003e\n          \u003cp class=\"ei-error\" id=\"ei-starting-error\" data-ei-error=\"starting\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ei-field\"\u003e\n          \u003clabel class=\"ei-label\" for=\"ei-purchases\"\u003eNet purchases\u003c\/label\u003e\n          \u003cinput class=\"ei-control\" id=\"ei-purchases\" data-ei-input=\"purchases\" inputmode=\"decimal\" type=\"text\" value=\"$30,000.00\" autocomplete=\"off\" aria-describedby=\"ei-purchases-help ei-purchases-error\"\u003e\n          \u003cp class=\"ei-help\" id=\"ei-purchases-help\"\u003ePurchases plus freight-in, less returns, allowances, and discounts.\u003c\/p\u003e\n          \u003cp class=\"ei-error\" id=\"ei-purchases-error\" data-ei-error=\"purchases\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ei-field ei-field-full\" data-ei-field=\"cogs\"\u003e\n          \u003clabel class=\"ei-label\" for=\"ei-cogs\"\u003eCost of goods sold\u003c\/label\u003e\n          \u003cinput class=\"ei-control\" id=\"ei-cogs\" data-ei-input=\"cogs\" inputmode=\"decimal\" type=\"text\" value=\"$40,000.00\" autocomplete=\"off\" aria-describedby=\"ei-cogs-help ei-cogs-error\"\u003e\n          \u003cp class=\"ei-help\" id=\"ei-cogs-help\"\u003eDirect inventory cost assigned to goods sold during the period.\u003c\/p\u003e\n          \u003cp class=\"ei-error\" id=\"ei-cogs-error\" data-ei-error=\"cogs\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ei-field ei-field-full ei-hidden\" data-ei-field=\"ending\"\u003e\n          \u003clabel class=\"ei-label\" for=\"ei-ending\"\u003eEnding inventory\u003c\/label\u003e\n          \u003cinput class=\"ei-control\" id=\"ei-ending\" data-ei-input=\"ending\" inputmode=\"decimal\" type=\"text\" value=\"$15,000.00\" autocomplete=\"off\" aria-describedby=\"ei-ending-help ei-ending-error\" disabled\u003e\n          \u003cp class=\"ei-help\" id=\"ei-ending-help\"\u003eInventory value remaining at the end of the accounting period.\u003c\/p\u003e\n          \u003cp class=\"ei-error\" id=\"ei-ending-error\" data-ei-error=\"ending\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"ei-mode-note\" data-ei-mode-note\u003eEnding inventory equals starting inventory plus net purchases minus cost of goods sold.\u003c\/p\u003e\n    \u003c\/section\u003e\n    \u003csection class=\"ei-panel\" aria-labelledby=\"ei-results-heading\"\u003e\n      \u003ch3 id=\"ei-results-heading\"\u003eLive results\u003c\/h3\u003e\n      \u003cdiv class=\"ei-results-top\"\u003e\n        \u003cp class=\"ei-primary-label\" data-ei-primary-label\u003eEnding inventory\u003c\/p\u003e\n        \u003cp class=\"ei-primary-value\" data-ei-primary-value\u003e$15,000.00\u003c\/p\u003e\n        \u003cp class=\"ei-primary-summary\" data-ei-live aria-live=\"polite\"\u003eEnding inventory is $15,000.00 and inventory turnover is 2.00×.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ei-metric-grid\"\u003e\n        \u003cdiv class=\"ei-metric\"\u003e\n\u003cspan class=\"ei-metric-label\"\u003eGoods available for sale\u003c\/span\u003e\u003cstrong class=\"ei-metric-value\" data-ei-result=\"available\"\u003e$55,000.00\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ei-metric\"\u003e\n\u003cspan class=\"ei-metric-label\"\u003eAverage inventory\u003c\/span\u003e\u003cstrong class=\"ei-metric-value\" data-ei-result=\"average\"\u003e$20,000.00\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ei-metric\"\u003e\n\u003cspan class=\"ei-metric-label\"\u003eInventory turnover\u003c\/span\u003e\u003cstrong class=\"ei-metric-value\" data-ei-result=\"turnover\"\u003e2.00×\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ei-metric\"\u003e\n\u003cspan class=\"ei-metric-label\"\u003eEnding inventory share\u003c\/span\u003e\u003cstrong class=\"ei-metric-value\" data-ei-result=\"endingShare\"\u003e27.27%\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ei-callout\" data-ei-interpretation\u003eCOGS consumed 72.73% of goods available for sale. The remaining 27.27% is reported as ending inventory.\u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"ei-sections\"\u003e\n    \u003csection class=\"ei-section\" data-ei-chart-card aria-labelledby=\"ei-chart-heading\"\u003e\n      \u003cdiv class=\"ei-section-head\"\u003e\n        \u003ch3 id=\"ei-chart-heading\"\u003eInventory disposition breakdown\u003c\/h3\u003e\n        \u003cp\u003eSee how goods available for sale are split between cost of goods sold and ending inventory.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ei-chart-cluster\" data-ei-chart-cluster\u003e\n        \u003cdiv class=\"ei-chart-visual\" data-ei-chart-visual\u003e\u003c\/div\u003e\n        \u003cdiv class=\"ei-chart-side\"\u003e\n          \u003cdiv class=\"ei-legend\" data-ei-legend aria-label=\"Inventory breakdown legend\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"ei-chart-caption\" data-ei-chart-caption\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ei-chart-table-wrap\" data-ei-chart-table-wrap\u003e\n        \u003ctable class=\"ei-table\" aria-label=\"Inventory disposition data\"\u003e\n          \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eCategory\u003c\/th\u003e\n\u003cth\u003eAmount\u003c\/th\u003e\n\u003cth\u003eShare of goods available\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n          \u003ctbody data-ei-chart-table\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ei-chart-empty ei-hidden\" data-ei-chart-empty\u003eEnter values above to see the inventory breakdown.\u003c\/div\u003e\n    \u003c\/section\u003e\n    \u003csection class=\"ei-section\" data-ei-table-card aria-labelledby=\"ei-detail-heading\"\u003e\n      \u003cdiv class=\"ei-section-head\"\u003e\n        \u003ch3 id=\"ei-detail-heading\"\u003eCalculation detail\u003c\/h3\u003e\n        \u003cp\u003eThe same model values drive the results, breakdown, detail table, accessible summary, and Excel workbook.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ei-table-wrap\" data-ei-table-wrap\u003e\n        \u003ctable class=\"ei-table\" aria-label=\"Ending inventory calculation detail\"\u003e\n          \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eMetric\u003c\/th\u003e\n\u003cth\u003eCalculation\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n          \u003ctbody data-ei-detail-table\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ei-table-note\" data-ei-table-note\u003eInventory turnover uses cost of goods sold divided by average inventory, where average inventory is the mean of starting and ending inventory.\u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n  \u003csection class=\"ei-education\"\u003e\n    \u003cdiv class=\"ei-education-inner\"\u003e\n      \u003ch2\u003eWhat does this ending inventory calculator estimate?\u003c\/h2\u003e\n      \u003cp\u003eThis calculator reconciles the inventory cost flowing through one accounting period. It starts with the inventory already on hand, adds net purchases, and then divides the resulting goods available for sale between cost of goods sold and ending inventory. You can work in either direction: enter cost of goods sold to calculate ending inventory, or enter ending inventory to calculate cost of goods sold. The tool also estimates average inventory, inventory turnover, and the percentage of goods available that remains unsold at period end.\u003c\/p\u003e\n      \u003cp\u003eThe outputs are accounting estimates, not a replacement for a physical inventory count, a perpetual inventory system, or professional review of your costing method. The \u003ca href=\"https:\/\/www.irs.gov\/publications\/p538\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eIRS accounting-period and methods guidance\u003c\/a\u003e explains why consistent inventory accounting matters, while the \u003ca href=\"https:\/\/www.irs.gov\/publications\/p334\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eIRS Tax Guide for Small Business\u003c\/a\u003e provides broader context for cost of goods sold and inventory records.\u003c\/p\u003e\n\n      \u003ch2\u003eHow should each input be completed?\u003c\/h2\u003e\n      \u003ch3\u003eCalculation mode\u003c\/h3\u003e\n      \u003cp\u003eSelect “Yes — calculate ending inventory” when cost of goods sold is already available from your accounting records. Select “No — calculate cost of goods sold” when you have completed an ending inventory count or valuation and need to derive COGS. This field is required because it determines which amount is treated as an input and which amount is solved by the model.\u003c\/p\u003e\n      \u003ch3\u003eStarting inventory\u003c\/h3\u003e\n      \u003cp\u003eStarting inventory is the carrying value of inventory at the beginning of the period. It normally equals the prior period’s ending inventory. Enter the amount in U.S. dollars and include all inventory categories covered by the same COGS figure. A higher starting balance increases goods available for sale and, with other inputs unchanged, increases ending inventory or calculated COGS. A common mistake is mixing a quantity count with a monetary cost value.\u003c\/p\u003e\n      \u003ch3\u003eNet purchases\u003c\/h3\u003e\n      \u003cp\u003eNet purchases represent inventory acquired during the period after purchase returns, allowances, and discounts, plus freight-in or other costs capitalized into inventory under your accounting policy. Enter zero when no inventory was purchased. Higher net purchases increase goods available for sale. Avoid entering total vendor payments when those payments include equipment, services, sales tax treated separately, or noninventory expenses.\u003c\/p\u003e\n      \u003ch3\u003eCost of goods sold\u003c\/h3\u003e\n      \u003cp\u003eWhen COGS is known, enter the direct inventory cost assigned to goods sold during the period. COGS should be measured on the same basis as starting inventory and purchases. Increasing COGS reduces calculated ending inventory dollar for dollar. COGS cannot logically exceed goods available for sale in this simplified reconciliation; the calculator flags that condition instead of displaying a misleading negative inventory balance.\u003c\/p\u003e\n      \u003ch3\u003eEnding inventory\u003c\/h3\u003e\n      \u003cp\u003eWhen COGS is unknown, enter the cost value of inventory remaining at period end. This amount may come from a physical count, cycle count, or reliable perpetual inventory record. Increasing ending inventory lowers calculated COGS dollar for dollar. Ending inventory should not exceed goods available for sale unless there is an omitted purchase, an incorrect beginning balance, or another reconciliation issue.\u003c\/p\u003e\n\n      \u003ch2\u003eHow does the ending inventory formula work?\u003c\/h2\u003e\n      \u003cp class=\"ei-formula\"\u003eEnding inventory = Starting inventory + Net purchases − Cost of goods sold\u003c\/p\u003e\n      \u003cp\u003eThe first two terms form goods available for sale. The model then subtracts the cost assigned to units sold. When ending inventory is known instead, the formula is rearranged to COGS = Starting inventory + Net purchases − Ending inventory. This is a cost-flow equation: it tracks dollars, not selling prices or gross profit. FIFO, LIFO, weighted-average, and specific-identification methods may assign different costs to COGS and ending inventory even when the physical quantities are identical.\u003c\/p\u003e\n      \u003cp\u003eFor additional background on cost-flow assumptions, review the \u003ca href=\"https:\/\/www.investopedia.com\/terms\/i\/inventory.asp\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eInvestopedia overview of inventory\u003c\/a\u003e. The model here does not choose a valuation method; it assumes all entered amounts were produced under one internally consistent method.\u003c\/p\u003e\n\n      \u003ch2\u003eHow should the results be interpreted?\u003c\/h2\u003e\n      \u003ch3\u003eEnding inventory or calculated COGS\u003c\/h3\u003e\n      \u003cp\u003eThe primary result is whichever amount the selected mode solves. A zero ending inventory means all goods available were assigned to COGS. A zero COGS means none of the available inventory cost was assigned to sales. Negative values are not presented because they indicate inconsistent inputs rather than a meaningful operating result.\u003c\/p\u003e\n      \u003ch3\u003eGoods available for sale\u003c\/h3\u003e\n      \u003cp\u003eThis total equals starting inventory plus net purchases. It is the maximum amount that can be split between COGS and ending inventory in the simplified model. If this figure is unexpectedly high, check whether purchases include noninventory items or whether beginning inventory was duplicated.\u003c\/p\u003e\n      \u003ch3\u003eAverage inventory and inventory turnover\u003c\/h3\u003e\n      \u003cp\u003eAverage inventory is the simple mean of starting and ending inventory. Inventory turnover equals COGS divided by average inventory. A higher turnover generally indicates that inventory cost moved through the business more frequently, but an unusually high figure can also signal insufficient stock, stockouts, or volatile purchasing. A low figure can indicate slow-moving goods, excess buying, obsolescence, or seasonal buildup. There is no universal “good” turnover ratio; compare it with your own history and relevant peers. The \u003ca href=\"https:\/\/www.investopedia.com\/terms\/i\/inventoryturnover.asp\" target=\"_blank\" rel=\"noopener noreferrer\"\u003einventory turnover explanation from Investopedia\u003c\/a\u003e provides additional interpretation.\u003c\/p\u003e\n      \u003ch3\u003eEnding inventory share\u003c\/h3\u003e\n      \u003cp\u003eThis percentage divides ending inventory by goods available for sale. A high share means more inventory cost remains on the balance sheet, while a low share means more cost flowed into COGS. The ratio is sensitive to seasonality, purchasing timing, demand, markdowns, write-downs, and the chosen costing method.\u003c\/p\u003e\n\n      \u003ch2\u003eHow do the chart and table support review?\u003c\/h2\u003e\n      \u003cp\u003eThe donut chart shows the disposition of goods available for sale: the portion assigned to COGS and the portion remaining as ending inventory. Its legend and data table use the exact same current model values, so the visual can be audited numerically. The calculation-detail table provides each intermediate amount, formula, and result in sequence. After changing any input, both sections update immediately.\u003c\/p\u003e\n      \u003cp\u003eUse the Excel download to preserve the current scenario. The workbook includes summary, input, breakdown, calculation-detail, and notes sheets. Because it is generated from the current state, change an assumption first and then download to capture that exact version.\u003c\/p\u003e\n\n      \u003ch2\u003eWhat mistakes should be avoided?\u003c\/h2\u003e\n      \u003cul\u003e\n        \u003cli\u003eDo not mix retail selling prices with inventory cost values.\u003c\/li\u003e\n        \u003cli\u003eDo not combine amounts calculated under different cost-flow methods.\u003c\/li\u003e\n        \u003cli\u003eDo not treat purchases as net purchases without deducting returns, allowances, and discounts when applicable.\u003c\/li\u003e\n        \u003cli\u003eDo not interpret turnover in isolation from seasonality, product mix, lead times, and service-level targets.\u003c\/li\u003e\n        \u003cli\u003eDo not use the analytical reconciliation as proof that physical quantities exist; periodic counts and record controls remain important.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eFor operating practice rather than accounting measurement, the U.S. Small Business Administration’s \u003ca href=\"https:\/\/www.sba.gov\/business-guide\/manage-your-business\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ebusiness management resources\u003c\/a\u003e can help place inventory controls within a broader management system.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909489664243,"sku":"ending-inventory","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/ending-inventory.webp?v=1783935585","url":"https:\/\/financialmodelslab.com\/products\/ending-inventory","provider":"Financial Models Lab","version":"1.0","type":"link"}