Bundle Component Demand & Shortage Report avatar

Bundle Component Demand & Shortage Report

Pricing

$0.25 / completed report

Go to Apify Store
Bundle Component Demand & Shortage Report

Bundle Component Demand & Shortage Report

Aggregate component demand across simultaneous one-level bundles and standalone orders. Compare one stock pool and trace shortages, missing stock and duplicate or nested BOM conflicts. Mapped CSV or JSON; downloadable reports; no store writes.

Pricing

$0.25 / completed report

Rating

0.0

(0)

Developer

Gilad Ronen

Gilad Ronen

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 days ago

Last modified

Share

Check whether one inventory snapshot covers the components required by a planned batch of bundles and standalone orders. When two bundles share a component, both consume the same declared stock pool. This report adds their requirements together before comparing demand with available units, so independent per-bundle availability cannot hide a shared-component shortage.

Use it before a promotional batch, a kit packing session, or a new exported order plan. You supply inventory, one-level bundle definitions, and planned demand. The Actor reads those supplied records and returns exact integer calculations with source references. It makes no store changes and needs no shop credentials or external API calls.

What you provide

Declare a snapshotId, one stockPoolId, a real UTC asOf timestamp, and inventory/demand coverage as complete, incomplete, or unknown. Declare missingInventoryPolicy: "unresolved": missing stock never means zero. Use explicit availableUnits: 0 when zero inventory is known.

Each table accepts a JSON array or pasted CSV. Supply inventory rows with recordId, componentSku, and availableUnits; bom rows with recordId, bundleSku, componentSku, and unitsPerBundle; and demand rows with recordId, itemType (bundle or component), sku, and quantity. Supply bom: [] for standalone-only demand. At least one demand row is required; an explicit quantity-zero row represents an empty plan.

Identifiers are literal strings: "001" and "1" are different SKUs. Record IDs must be unique within each table. Multiple demand records for the same SKU are valid and intentionally aggregate. Quantities are integers between zero and 1,000,000; units per bundle start at one. Fractional, signed, grouped, and exponent-form CSV quantities are rejected.

For CSV, remove the corresponding array and provide inventoryCsv, bomCsv, or demandCsv. Canonical headers match the field names above. Alternate export headers require the corresponding inventoryColumns, bomColumns, or demandColumns mapping, declaring every canonical key and a distinct header. Canonical mapping examples are harmless with arrays; a custom mapping requires CSV. UTF-8 BOM, quoted commas, and quoted multiline identifiers are parsed; identifiers cannot contain control characters, so multiline identifiers themselves are rejected. Duplicate headers, extra unmapped columns, irregular rows, and duplicate record IDs fail validation. Export only the intended fields.

What you receive

One dataset item contains the full report. Component rows show known aggregate demand, bundle and standalone subtotals, exact required and available units when known, shortfall, status, and references to the inventory, demand, and BOM evidence. The complete JSON also contains every resolved demand contribution and unresolved demand record. CSV source references count logical records, with header record one; they do not claim physical line numbers for quoted multiline CSV.

Download the complete JSON, component CSV, findings CSV, or standalone HTML. CSV cells neutralize formula prefixes, and the HTML escapes submitted content and loads no external resources. Download the HTML and open it locally. These exports support human review; the Actor does not allocate scarce stock among orders or reserve inventory.

The supplied demo includes two bundles sharing SKU 001 and a standalone order. They require 13 units together against 10 available, producing a shortage of three. Other components are covered, illustrating both results in one report.

Uncertainty and limits

Repeated equal or conflicting inventory is unresolved and never summed. Duplicate BOM edges invalidate the whole affected bundle. Undefined, nested, self-referencing, or cyclic bundles remain unresolved; no recursive manufacturing expansion occurs. Stock on bundle SKUs and standalone component demand naming a bundle are unsupported and flagged. An undefined, nested, or cyclic requested bundle, or unsupported component-as-bundle demand, has an unknown affected component set. Every component’s final required quantity and shortfall then remains unresolved. Known resolved demand and positive shortage lower bounds are preserved. Duplicate one-level edges invalidate their known direct components without assuming a quantity. Overall outcome remains unresolved when any demand cannot be expanded.

Incomplete or unknown coverage cannot establish exact totals. Known positive shortages may appear as lower bounds when demand is incomplete; they are not final quantities. The input must fit 4 MB and 5,000 combined rows. Expanded demand is limited to 10,000 component contributions. Output size is checked before a billable event. Split dense or oversized snapshots; do not split shared stock pools and treat each fragment as independently fulfillable.

Pricing and data

The configured price is $0.25 for one completed report, including platform usage, with no startup or dataset-item fee. Validation failure and insufficient budget produce no completed-report event. Reports containing shortages or unresolved evidence are still completed reports and billable. Repeating the same run after an interruption restores its exports and retains one dataset item and one event; partial exports can exist before completion. Starting a new run is billable again.

Process only data you are allowed to provide. Prefer opaque identifiers over customer details. Inputs and reports are stored in Apify run storage. This is a finite snapshot calculation, not forecasting, live inventory sync, manufacturing planning, allocation optimization, or a fulfillment guarantee.