Make the price decision explainable.
Use the same example across the quotation, staging review and receiving team’s handover.
Identify the row behind the amount
Record the product identity, shopper group, valid quantity interval and effective dates alongside the unit amount. Distinguish a product price from calculation rules and displayed currency so the programmer investigates the correct layer.
Expose competing matches early
A shopper can belong to several groups. State what should happen when more than one eligible group-specific row remains. In PG42, that ambiguity stops acceptance until the owner removes the overlapping row or supplies a separately agreed precedence rule.
Keep an agreed acceptance receipt
Retain the selected row, inputs, source revision and calculated line amount together. A changed quantity or membership should trigger a fresh evaluation, while the previously accepted receipt remains available for the team reviewing the implementation.
See which price row survives the buying conditions.
PG42 follows one synthetic product through shopper membership, purchase quantity and a price window. Inspect the rows, evaluate the selection and retain the owner’s accepted result. The exercise gives your programmer a precise example to reproduce in the store.
Bring a reproducible price case to the consultation.
Use the working example and platform references to define the store change your programmer will deliver.
Try the shopper-price workspace
Open the three-screen PG42 exercise. Inspect the price matrix, edit the buying context and evaluate the matching rows. Switch on the overlap example, then remove it and retain a valid case as Store owner.
Open the shopper price acceptance demoBring the platform’s actual price restrictions
The VirtueMart product reference describes price restrictions by shopper group, cart quantity and effective dates. Use those fields to explain the change; assess the installed release’s calculations and extensions during the technical consultation.
VirtueMart primary reference: product pricingInclude all relevant shopper memberships
VirtueMart’s shopper-group reference explains group-specific product prices and a general fallback. It also allows a shopper to hold multiple groups. Include that membership set when discussing pricing, payment or shipping changes with your programmer.
VirtueMart primary reference: shopper groupsCommission a separate CRE Loaded cart change
For a CRE Loaded installation, use that cart’s checkout settings and stock records in its own development brief. Its three-line stock-policy exercise helps specify a different order-acceptance task.
Discuss CRE Loaded checkout developmentTake a VirtueMart request from installation to accepted release
Tie development allocation to a customer-visible result and the configuration that produces it.
Describe the store and the failing price journey
Supply Joomla and VirtueMart versions, PHP runtime, theme overrides and relevant extensions. Capture a synthetic product, shopper membership and cart quantity that reproduce the problem. Identify who maintains pricing and who may approve the expected result.
Agree the engagement around a bounded change
Request an estimate for diagnosis, implementation, regression evidence and release assistance. Discuss developer allocation, review points, source ownership and the treatment of extra requirements. Include access and third-party licence responsibilities in the written scope.
Inventory the price rows and group memberships
The PG42 example has a general row at USD 12, a Trade row at USD 10 for quantities 1–9 and a Trade volume row at USD 8 from 10 units. The two Trade rows are active during October 2026. Confirm the actual installed rules before adapting this pattern.
Run quantity, membership and date cases
Evaluate a Trade shopper at 12 units on 15 October: row T10 supplies USD 8 per unit and a USD 96 line amount. Change to 9 units to select T1 at USD 10. Add the conflicting Trade row X1 to expose two eligible specific prices and stop the case.
Accept the current case with the store owner
Only the Store owner role can acknowledge and retain an evaluated, unambiguous case. Changing inputs or advancing the source revision clears eligibility to accept. The accepted record keeps its original row and amount even when the next example is edited.
Validate the installation and hand over the release
Reproduce the agreed case on staging with the real theme, plugins and pricing configuration. Include tax, rounding, currency display, cart recalculation and order retention where relevant. Receive the source revision, rollback instructions, completed checks and the agreed support contacts.
Inputs for a useful programming quotation
- Provide the installed Joomla/VirtueMart versions, extension list, source repository arrangement and a repeatable customer journey. Include representative products and synthetic shopper records, plus the expected price or message at each step.
- List the price fields, quantity intervals, group memberships, effective dates and calculation rules involved. State whether the change concerns eligibility, selection, currency conversion, tax, rounding or the final displayed amount.
- Assign the pricing owner, catalog editor, technical reviewer and release operator. Agree who can change rules and who accepts results. Include guest, registered and multiple-group shoppers in the acceptance scope when they are affected.
- Request the billing basis, assessment allowance, implementation milestones and start window. Confirm source delivery, extension licences, review availability and how additional work changes the estimate.
Migration, connections and ongoing care
- For a data transfer, map product identifiers, shopper-group links and price intervals before importing a full catalog. Reconcile row counts, effective dates and selected prices against a small trial batch; retain a rollback point and an owner for cutover exceptions.
- If an ERP or supplier feed maintains pricing, bring its interface documentation and example messages. Define the source of truth, update direction, timezone, rounding and rejected-row handling as explicit integration deliverables.
- Treat tax and currency behavior as separate acceptance dimensions. PG42 uses one USD currency with no tax, shipping or discount calculations; extend the commissioned store checks to the actual operating rules and required jurisdictions.
- Agree staging access, deployment window, backup checks and recovery steps with the receiving team. Specify the defect period and the arrangement for later compatibility upgrades, security maintenance, hosting and new requests.
Six records to scope the shopper-price change
Give the programmer enough context to reproduce the choice, its ambiguity and its receiving owner.
| Record | Example inputs | Required output and control |
|---|---|---|
| Installation | Joomla, VirtueMart, runtime, extensions and theme overrides | Identify the source and configuration the commissioned change must fit. |
| Product and price matrix | PG42; G1 USD 12; T1 USD 10; T10 USD 8 | Keep each row’s shopper, quantity and effective-date restrictions with the amount. |
| Buying context | Trade; quantity 12; 2026-10-15 | Evaluate specific group rows first, then a general row if none is eligible. |
| Overlap exception | Optional X1: Trade, 10+ units, USD 9 | Two eligible specific rows stop this exercise rather than choose a hidden winner. |
| Acceptance authority | Store owner; acknowledgement; source revision 4 | Require a current evaluation and the owner’s approval before keeping a result. |
| Retained decision | PG42-A1; T10; USD 8 × 12 = USD 96 | Preserve the original context, matched row and line amount when later inputs change. |
At 12 units during the October window, the Trade shopper selects T10 at USD 8 and the line amount is USD 96. At 9 units, T1 produces USD 90. A General shopper uses G1 at USD 12; Trade also falls back to G1 outside October. Turning on X1 makes two Trade rows eligible at 12 units, so PG42 refuses acceptance. This exercise deliberately requires a single match; ask the programmer to document and test any different precedence policy used by your installation.
Put the same store case into each development enquiry.
Discuss engagement terms alongside the concrete pricing behavior and the evidence you expect at handover.
| Option | Published focus | Ask in your demo |
|---|---|---|
| YES IT Labs | Offers VirtueMart fixes, customisation and migration with full-time, part-time and hourly engagement options. | Does the scope include multiple shopper memberships and conflicting price rows? |
| iFlair | Describes module and plugin development, integrations, migration and ongoing VirtueMart support. | Which quantity, date-window, tax and rounding cases will be demonstrated on staging? |
| ProtonBits | Offers project delivery, team augmentation and hourly development with a consultation path. | Who receives the source changes, configuration record and completed acceptance evidence? |
Ask for a written deliverable and the named person who accepts it. A larger allocation may suit an ongoing backlog; a bounded implementation may suit one diagnosed defect. Compare access, review cadence, source handover and support obligations with the price.
Category reference: VirtueMart product reference: shopper-group, quantity and date restrictions. Use the installed application and agreed pricing policy to determine the final implementation. The PG42 receipt supplies a reproducible example for that assessment.
Connect the store requirement to a development engagement.
Explore Codeblix marketplace services and discuss the codebase, decision owner and concrete behavior your project requires.
Explore marketplace software servicesAgree the VirtueMart engagement with a clear finish
Resolve installation access, acceptance and handover alongside the development quotation.
What should I send when requesting a VirtueMart programmer?
Describe the installed Joomla and VirtueMart releases, relevant extensions and the customer journey you want changed. Include synthetic products, price rows, group memberships and expected results. Name the person who can approve the business rule and arrange technical access.
Can the engagement cover an existing store extension?
Request an assessment of the existing source, extension licences and compatibility constraints. The resulting quote can define a fix, extension or replacement path with implementation boundaries, milestones and the required staging evidence.
What can I test in the shopper-price demonstration?
Inspect the general and Trade price rows, edit the group, quantity and evaluation date, and calculate the eligible unit price and line amount. Add the overlap case to stop an ambiguous choice. A Store owner can acknowledge and retain an evaluated single-match result.
Does PG42 decide the precedence rules for our installation?
The exercise selects a single eligible group-specific row, falling back to the general row when none applies. It stops if two specific rows qualify. Bring your actual configuration and required policy to the consultation so the programmer can investigate and test the store’s intended behavior.
Are tax and currency conversion included in the example?
PG42 calculates one USD line amount without tax, shipping or discounts. If your change affects conversion, rounding, tax or final cart totals, include those as named deliverables with representative records and the responsible business reviewer.
How will the development price and start date be agreed?
Request a quotation after the codebase and first acceptance case have been assessed. Discuss allocation or a bounded deliverable, investigation effort, review meetings, release assistance and change approval. Confirm current availability and the support terms in writing.
Can we include a migration or external price feed?
Describe the source system, field mapping and authoritative price owner. Supply representative rows or API documentation, and agree validation, update frequency, timezone, retries and exception handling. Include a reconciled trial transfer or connection check in the scope.
Which price-change evidence belongs in the VirtueMart handover?
Ask for the agreed source revision, configuration changes, completed acceptance cases and deployment instructions. Keep the selected-price evidence with the store journey, plus backup and recovery steps. Assign responsibility for defects, future upgrades and continued operation.
