A price is the result of a rule
Print estimating is a calculation with production and commercial inputs. A paper choice changes sheet yield. A different size can change imposition and waste. Finishing may add setup, depend on another operation or require a different production route. Quantity breaks, customer tiers and contracted terms may alter the result again. A table of product variants can hide some of those relationships, but it cannot make them disappear.
The starting material is the client's own estimating practice: price lists, spreadsheets, sample orders and people who can explain exceptions. We work backwards from known-good quotes to the rules that produced them. When two estimators disagree, the engine cannot decide which commercial policy is correct. The client needs an owner to settle the rule, and that decision belongs in the specification.
Define the inputs and calculation
A rule specification names units and boundaries. Does a custom size enter in millimetres or inches? Is the minimum charge applied before or after a trade adjustment? Is freight calculated at quote time or after production routing? What happens if a finishing combination is invalid? These details determine whether a system returns the right result, and a user interface cannot compensate for an ambiguous calculation.
Where relevant, the engine can account for substrate, weight, trim size, quantity, sheet yield, setup, waste, finishing, machine choice, customer tier and negotiated terms. It should preserve a trace of which rules fired for a particular quote. Without that trace, an estimator cannot explain a disputed price or compare a changed rule with the previous one.
The output contract matters as much as the formula. A storefront may need a customer-facing amount and a reason a configuration is unavailable. A quote tool may need a breakdown for review. An MIS may need the production inputs from which the quote was derived. We specify which fields are authoritative and when a calculation expires or must be repeated.
Prove the result with the client's quotes
Acceptance starts with a regression set of known-good quotes. Each case has its inputs, the expected result and the estimator's explanation. The set should include ordinary products, quantity boundaries, unusual finishing combinations, custom dimensions, customer-specific terms and deliberate invalid requests. We add a case whenever a rule is clarified, so the engine's behaviour stays inspectable as the model changes.
The exercise often finds disagreement in the source material. A spreadsheet may round at a different stage from the estimator. A special customer arrangement may never have been written down. Those findings are not software defects, but they must be resolved before the engine can be accepted. We do not silently tune a formula to match one sample while breaking another.
Testing also includes failure behaviour. If cost data is missing or a route cannot be selected, the engine should return a controlled decision for human review. Inventing a plausible amount would be more dangerous than declining to quote. An operator needs to see which input or rule prevented the result.
Scope and exclusions
The commissioned work can include a documented rule schema, callable calculation interface, administrator controls for permitted rule changes, an audit trail, regression tests and a maintenance runbook. The exact surface depends on which system currently owns the product and customer record. A pricing engine can be introduced behind an existing storefront; replacing the storefront is a separate decision.
We document and implement the client's price policy. We do not set that policy, advise on margins, monitor competitors' prices, or promise to automate discretionary judgement that has no agreed rule. Tax treatment and shipping bands can be represented only as the client specifies them; the software implementation is not a tax or carrier advisory service.
Make rule changes safe
Pricing rules change when materials, equipment or commercial agreements change. An administrator interface can expose the parameters the business is authorised to alter while keeping formula structure under version control. A change should have an effective date, a reason and an actor. Before it goes live, the regression set can show which known quotes would change. That diff is more useful than a green save button.
The calculation also needs stable input snapshots. If a substrate cost changes tomorrow, an order quoted today must remain explainable. Storing only the latest rule values makes a dispute impossible to reconstruct. A quote record should identify the version of the rule set and the values used to produce the displayed amount, subject to the client's data-retention policy.
Not every product should receive an instant amount. Some jobs have a discretionary production route or require an artwork inspection before a price can be accepted. The engine can return a clear review state with the reason, rather than inventing a number. The user experience should then tell the buyer what happens next without implying that the order is already production-ready.
Evidence and next step
Web2Print Solutions is a new property. Where we have not yet published a delivered example of a capability, the page says so rather than implying a record.
The services directory separates pricing from architecture and output. If a product's model is the limiting factor, read outgrown a web-to-print product. A project brief is most useful with two known-good estimates, their inputs and one case the current system gets wrong.