Supplier Price Tier Impact
Under maintenancePricing
$0.50 / completed report
Supplier Price Tier Impact
Under maintenanceCompare all-units supplier quantity tiers at your planned quantities. Show MOQ changes, selected source tiers, purchase-spend deltas and merchandise margin. CSV or JSON in; JSON, CSV and HTML reports out.
Pricing
$0.50 / completed report
Rating
0.0
(0)
Developer
Gilad Ronen
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
What does Supplier Price Tier Impact do?
Compare supplier quantity breaks at the quantities you actually plan to order. Supply previous and proposed price tiers, then receive selected tier evidence, minimum order quantity changes, exact purchase-spend differences, and optional merchandise margin at your supplied selling price.
For example, an 80-unit plan previously qualifies for a 50-unit tier at $5. If the proposed discount begins at 100 units and the applicable base tier costs $6, the report shows previous spend of $400, proposed spend of $480, and an $80 increase. It does not recommend ordering additional units or changing selling prices.
The Actor processes your supplied files without contacting suppliers, stores, ERP systems, or external models. Use the Apify API or a saved task to repeat the same analysis when a new price list arrives.
How to compare supplier tiers
- Prepare previous tiers, proposed tiers, and planned quantity scenarios with stable string identifiers.
- Set
tierConventiontoall-unitsonly when that convention describes your supplier's prices. - Provide each table as a JSON array or its CSV alternative. See the Input tab and the examples below.
- Optionally supply a unit selling price per scenario and a minimum merchandise margin percentage for review.
- Run the Actor and download the complete JSON, flat CSV evidence, and standalone HTML report.
All-units means the selected price applies to every planned unit. The largest minimum quantity less than or equal to the planned quantity wins. The lowest submitted tier minimum is the MOQ. Graduated pricing, where different slices of an order have different prices, is unsupported and rejected.
Input fields and supported formats
Each tier row requires rowId, supplierId, sku, unit, currency, taxBasis, minimumQuantity, and unitCost. Each scenario requires the same identity fields and rowId, replacing the tier fields with quantity; unitSellingPrice is optional.
The exact comparison key is supplier, SKU, unit, currency, and tax basis. Case and leading zeros matter. Use "0001" for an identifier, not a JSON number. No fuzzy joins, case folding, pack conversion, exchange rates, or tax calculations are applied. Currency must be a three-letter uppercase label; it is not checked against a live currency registry. taxBasis must be tax-exclusive or tax-inclusive.
All quantities and amounts must be decimal strings: for example, "80", "0.3", or "4.80". Up to 15 integer digits and six fractional digits are supported. Do not use comma grouping, exponents, negative prices, or currency symbols. Scenario quantity must be positive; tier minimum and cost may be zero. Each rowId must be unique within its table. Unknown JSON fields are rejected to catch mapping mistakes.
{"tierConvention": "all-units","previousTiers": [{"rowId":"old-50","supplierId":"S1","sku":"0001","unit":"each","currency":"USD","taxBasis":"tax-exclusive","minimumQuantity":"50","unitCost":"5"}],"proposedTiers": [{"rowId":"new-1","supplierId":"S1","sku":"0001","unit":"each","currency":"USD","taxBasis":"tax-exclusive","minimumQuantity":"1","unitCost":"6"},{"rowId":"new-100","supplierId":"S1","sku":"0001","unit":"each","currency":"USD","taxBasis":"tax-exclusive","minimumQuantity":"100","unitCost":"4.8"}],"scenarios": [{"rowId":"plan-80","supplierId":"S1","sku":"0001","unit":"each","currency":"USD","taxBasis":"tax-exclusive","quantity":"80","unitSellingPrice":"8"}],"minimumMerchandiseMarginPercent": "30"}
Use exactly one of each pair: previousTiers / previousTiersCsv, proposedTiers / proposedTiersCsv, and scenarios / scenariosCsv. A CSV alternative is an object containing csv text and optional columnMapping. The mapping is canonical field to source header, such as {"rowId":"Line ID","sku":"Product Code"}; include mappings for every required field. Without a mapping, headers must be canonical names. With a mapping, unselected source columns are ignored. BOM, quoted commas, and quoted line breaks are parsed; identifiers themselves cannot contain control characters. Duplicate headers, malformed quotes, padded headers, and irregular record widths are rejected. An empty optional selling-price cell means no selling price was supplied.
Limits are 10,000 combined tier rows, 2,000 scenarios, and 4 MB of total JSON input. Empty tier arrays represent missing submitted evidence. The complete report must remain below 8 MB and every download below 9 MB; large evidence expansions can require splitting a smaller input. Size checks happen before the report event.
How ambiguity and missing prices are reported
Repeated SKUs with different minimum quantities are valid tiers. Duplicate minimum quantities within the same exact key make the entire schedule ambiguous, even when the duplicated costs agree or the duplicated tier is above the planned quantity. Numeric minima "1" and "1.0" are the same minimum. No duplicate silently overwrites another.
Below-MOQ, missing, incompatible, and ambiguous sides retain a null cost. A known cost on the other side remains visible, but the spend difference is null. Matching supplier/SKU records with another unit, currency, or tax basis are linked as incompatible evidence; they are never converted.
Report downloads
One dataset item contains the complete report, a rows evidence array, and all normalized source records. OUTPUT holds the same report as JSON. report.csv flattens scenario findings, tier changes, MOQ changes, and duplicate-tier findings. report.html is a downloadable, standalone review page containing evidence and source records. Download the HTML attachment and open it locally.
| Field | Meaning |
|---|---|
oldMinimumQuantity, newMinimumQuantity | Selected all-units tier boundaries |
oldMoq, newMoq | Lowest submitted minimum for the exact key |
oldSpend, newSpend, spendDelta | Exact quantity × unit cost; delta is proposed minus previous |
oldStatus, newStatus | Selected, below MOQ, missing, incompatible, or ambiguous |
newMerchandiseMarginPercent | Merchandise margin at the supplied selling price, when available |
oldSourceRefs, newSourceRefs | Selected or relevant input evidence; maximum 20 per list |
oldSourceCount, newSourceCount | Full evidence counts when reference lists are abbreviated |
severity, reason | Review priority and explanation |
All source records remain in JSON and HTML. Source row numbers are one-based data-record numbers, excluding the CSV header; they are not physical line numbers for multiline CSV. Evidence IDs are deterministic for identical normalized inputs. CSV cells that could start spreadsheet formulas, including negative amount strings, receive a leading apostrophe; JSON keeps the exact decimal strings. No scenario monetary totals are added because scenarios can be alternative plans and have different currencies or bases.
Merchandise margin and arithmetic
Merchandise margin is (selling price − supplier unit cost) / selling price × 100. Merchandise contribution is (selling price − supplier unit cost) × quantity. These figures exclude freight, fees, overhead, and taxes and are not net profit or historical accounting. Supply prices that match the scenario's unit, currency, and tax basis. Tax-inclusive spend remains comparable, but merchandise margin is unavailable because taxes cannot be removed from the supplied values.
A zero selling price has no percentage denominator; percentages are null while tax-exclusive merchandise contribution can still be calculated. Without a selling price, margin is not estimated. Percentages use six decimal places, rounded half away from zero; the optional 0–100% threshold is compared against the unrounded proposed margin. Spend and unit-cost calculations use exact decimal arithmetic without rounding to currency minor units.
Pricing and interrupted runs
The price is $0.50 per completed report, with platform usage included. There is no startup or dataset-item charge. Invalid inputs and insufficient report budgets produce no report event. One new run is a new billable report, including a repeat of the same input.
The complete dataset JSON is the primary deliverable and is saved with the report event. Convenience downloads are written afterward. An interruption can leave some downloads missing even though the report was charged; resurrecting the same run verifies the input and saved report, then recreates the downloads without another event. If the dataset was saved but its event was interrupted, recovery completes that one charge. A charged run with a missing dataset, changed input, or modified report stops for review instead of silently starting again.
Scope, privacy, and support
This is a review report for supplied tables. It does not establish supplier availability, actual transactions, contract validity, landed cost, tax treatment, or the best purchasing decision. It does not scrape a marketplace, accept credentials, perform ERP writes, or forecast demand. Submit only pricing data you are authorized to process. Inputs and results are retained in your Apify run storage under your storage and sharing settings; raw customer rows are not logged.
Use the Issues tab for reproducible problems and the API tab for programmatic access. Include a small synthetic example and the relevant source references instead of commercially sensitive price lists.