
Price compliance is a routine challenge for any organisation that sells products through retail or distribution outlets. The price recorded in a central system and the price displayed on a shelf can diverge quietly and repeatedly: a promotion ends but the label is not updated, a central price change does not reach all locations, or a franchisee adjusts pricing independently. Without a structured way to detect and document these gaps during physical visits, the discrepancy sits unnoticed until a customer complaint or a compliance review forces the issue.
A field audit app built in Clappia can make this comparison automatic. When an auditor scans a product or selects it manually, the app pulls the master price and shows it alongside the field the auditor enters their observed price into. If the two values differ, a warning appears on screen and a dedicated capture field opens for the revised price. When the form is saved, the exception is automatically written to a reporting log without any extra step from the auditor.
This guide walks through exactly how to configure that price comparison mechanism in both the scan and manual entry capture modes of a store audit app. If you have not yet built the base audit app structure with its two capture modes, this guide assumes that foundation is already in place. The steps below focus specifically on adding the master price lookup, mismatch warning, revised price field, and the on-save workflow that logs exceptions automatically.
The conventional approach to price auditing is to record whatever price is on the shelf and compare it against a master list after the visit. This works, but it introduces a delay between detection and documentation. By the time the comparison happens, the auditor has left the store, the context is gone, and any follow-up requires another visit or a call to the store.
Inline price comparison, where the app shows the master price and flags a mismatch the moment the auditor enters their observation, changes this dynamic. The auditor knows about the discrepancy while they are standing in front of the shelf. They can verify it, look at adjacent units, check a second label, and confirm before recording. The captured exception is therefore more reliable than one flagged after the fact, because it was reviewed at the source.
An exception identified at the shelf is more accurate than one identified in a spreadsheet. Inline validation ensures the auditor acts on discrepancies while the evidence is in front of them.
The price comparison mechanism depends on two reference apps being in place and populated before the audit app can query them. Both are standard Clappia apps whose submitted records serve as the lookup data source.
Both apps should be populated before audit sessions begin. A product missing from the master will not return any comparison value, which means the auditor cannot capture a structured exception for it.
Scan mode captures products by reading their barcode with the phone camera. The price check is built inside the Scan SKU section of your audit app, which is the section that appears when the auditor selects Scan SKU as their capture mode. Add the following fields to this section in order:
Step 1: Add the Barcode Scanner Block
Add a Barcode Scanner block to the section. This block uses the device camera to read an EAN barcode and then looks up the matching record in your product master app. In the block settings, configure the following fields to auto-fill from the matched product record when a scan succeeds:
Set Master MRP as a read-only Number block. The auditor can see it clearly but cannot change it. It is purely the baseline for the comparison.
Step 2: Add the Physical MRP Field
Add an editable Number block labelled Physical MRP. This is where the auditor types the price they read from the shelf label or product packaging. Using a Number block rather than a text field is important here: it ensures the value is always numeric so the comparison logic works correctly, and it prevents entries like N/A or unclear that would break the condition.
Step 3: Add the Mismatch Warning
Add a read-only Single Line Text block containing a message such as: Price on shelf differs from master. Please enter the shelf price below. Then open the Display Conditions settings for this field and set it to show only when:
Physical MRP (Scan) is not equal to Master MRP
This warning is purely informational. It does not stop the auditor from continuing; it draws their attention to the discrepancy before they move to the next product.
Step 4: Add the Revised Price Capture Field
Add an editable Single Line Text block labelled Revised Price (Scan). Apply the same Display Condition as the warning:
Physical MRP (Scan) is not equal to Master MRP
This field only appears when a mismatch is detected. When it is visible, the auditor enters the price they are actually observing on the shelf. This is the value that tells the exception log workflow a genuine discrepancy was recorded. It is separate from Physical MRP by design: Physical MRP is the initial observation that triggers the comparison, while Revised Price is the auditor's deliberate confirmation that the difference is real and worth logging.
Manual entry mode is used when products cannot be scanned, for example when barcode labels are damaged. Instead of a barcode scan, the auditor searches for and selects the product by its material code. The price check in this mode uses a lookup against the store-level stock reference rather than the product master directly, which also allows quantity comparison. Add the following fields inside the Manual Entry section of your audit app:
Step 1: Add the Material Code Lookup
Add a Get Data from App block labelled Select Product and configure it to search your product master app by Material Code. When the auditor selects a product, the following fields auto-fill:
Step 2: Add the Store-Level Stock Lookup
Add a second Get Data from App block labelled Store Stock Data. Configure it to search your store-level stock reference app. This lookup needs two values to find the right record: the Location ID of the store being audited and the Material Code the auditor just selected. The Location ID is auto-filled from the store identification section at the top of the form, and the Material Code comes from the product selection above.
When a match is found, the following fields auto-fill:
Note: the Location ID field can be set as visible only to support users via Display Conditions, so regular auditors do not see it cluttering their form. Even when hidden from view, it still participates in the lookup behind the scenes.
Step 3: Add the Auditor Input Fields
Add two editable Number blocks:
Step 4: Add Inline Warnings for Both Mismatch Types
Manual entry mode checks for two types of discrepancy, not just price. Add two separate read-only warning labels, each with its own Display Condition:
Physical MRP (Manual) is not equal to Master MRP (Store)
Total Quantity is not equal to Master Quantity
Both warnings appear immediately as the auditor enters their values. The quantity warning is informational only and does not trigger an exception log entry on its own; it draws attention to a potential stock discrepancy the auditor can note in Remarks. The price warning is the one linked directly to the exception capture field below.
Step 5: Add the Revised Price Capture Field
Add an editable Single Line Text block labelled Revised Price (Manual) with the Display Condition:
Physical MRP (Manual) is not equal to Master MRP (Store)
This works identically to the scan mode equivalent: it appears only when a price mismatch is detected, captures the auditor's confirmed shelf price, and feeds the exception log workflow when the form is saved.
| Element | Scan Mode | Manual Entry Mode |
|---|---|---|
| Master price source | Auto-filled from product master via barcode scan lookup | Auto-filled from store-level stock reference via Location ID and Material Code |
| Auditor price input | Physical MRP (Number block) | Physical MRP (Number block) |
| Mismatch condition | Physical MRP does not equal Master MRP | Physical MRP does not equal Master MRP (Store) |
| Warning on mismatch | Read-only label; visible when condition is true | Read-only label; visible when condition is true |
| Revised price field | Revised Price (Scan); visible when mismatch condition is true | Revised Price (Manual); visible when mismatch condition is true |
| Quantity check | Not available in scan mode | Separate warning when Total Quantity does not equal Master Quantity |
| Exception log trigger | Revised Price (Scan) is filled on save | Revised Price (Manual) is filled on save |
Configuring the price comparison fields handles detection on the form. The workflow handles what happens after the form is saved. In Clappia, workflows are automation rules you configure per app. Open your audit app's Workflow settings and create a new workflow. Set the trigger to On Save, then add a Condition node. The Condition node lets you specify when the subsequent actions should run. Set the condition to:
IF Revised Price (Scan) is filled OR Revised Price (Manual) is filled
This means the workflow only fires when the auditor actually recorded a price exception. Submissions with no discrepancy pass through without creating a log entry, keeping the exception log clean.
When the condition is true, add two actions to run in sequence:
| Exception Log Field | Source (Scan Mode) | Source (Manual Entry Mode) |
|---|---|---|
| Date | Auto-captured hidden date field | Auto-captured hidden date field |
| Time | Auto-captured hidden time field | Auto-captured hidden time field |
| Store Name | Store identification section | Store identification section |
| Location ID | Store identification section | Store identification section |
| Material Code | Auto-filled from barcode scan | Selected via product lookup |
| Product Description | Auto-filled product name from scan | Auto-filled description from product lookup |
| EAN Code | Scanned EAN Code | EAN Code (Auto) computed by formula |
| Observed MRP | Physical MRP entered by auditor | Physical MRP entered by auditor |
| Total Quantity | Physical Quantity entered by auditor | Total Quantity entered by auditor |
| Remarks | From the verification section | From the verification section |
One thing worth noting: the exception log records the Physical MRP, not the Revised Price. Physical MRP is the auditor's numeric observation and is consistent across both modes. The Revised Price field is only used as the condition trigger; its presence is what confirms a discrepancy was found, but the actual price value sent to the log is the Physical MRP.
The On Review Workflow
A second workflow handles situations where a submission is corrected after the initial save. Add a workflow with an On Review trigger and a condition of submission status equals Update. When triggered, the workflow creates another entry in the Exception Log using the same field mappings, then reverts the original submission's status to its previous value. This ensures that corrected price data also reaches the log.
Using Remarks to Provide Context for Price Exceptions
The verification section at the end of the audit form contains a Multi-Line Text block labelled Remarks. This field is included in the exception log workflow and appears in every log entry it creates.
For price exceptions, Remarks is where the auditor records context that the structured fields cannot capture: why the shelf price differs from the master, whether the label was recently updated, whether multiple units showed the same discrepancy, or whether the store manager confirmed the change was intentional. This context is the difference between an exception log entry that requires a follow-up call and one that is self-explanatory to whoever reviews it.
Some teams make it a policy that if Revised Price is filled, Remarks must also contain at least one sentence of context. You can enforce this with a Validation rule that prevents submission if both Revised Price fields are filled but Remarks is empty.
A log entry that says the shelf price is higher than master, confirmed on three separate units, store manager unaware of any authorised price change, is actionable. One that just records the numbers requires follow-up before anything can happen.
Once the exception log is receiving entries, Clappia's Analytics feature lets you build live dashboards on the data without any export step. The most useful views for price compliance monitoring are:
Because both scan and manual entry modes write identical field structures to the exception log, all of these views work across both modes without any mode-specific filtering.
For user permissions, field auditors should have Submit Only access to the audit app. They fill in and save forms and can view their own past submissions. Supervisors or managers get View access to see all submissions and filter by status. Only admins should have access to the product master and store-level stock reference apps, to prevent auditors from modifying the master values their comparisons are measured against.
The price comparison logic works in offline mode on the Clappia mobile app, available on Android and iOS. The Display Conditions that show the mismatch warning and Revised Price field evaluate locally on the device, so they respond immediately even without a network connection. The product master and store-level stock reference lookups also work offline once the reference data has been cached, which happens automatically when the auditor opens the app on Wi-Fi before heading to a store.
If the form is saved offline, the exception log workflow fires after the submission syncs to the server when connectivity is restored. The log entry appears with a slight delay in this case, but the data captured on the device is complete and nothing is lost.
Checking physical MRP against master prices in a Clappia audit app involves four coordinated elements: a master price that auto-fills from a lookup, an editable Physical MRP field for the auditor's observation, a conditional warning that appears when the two values differ, and a conditional Revised Price field that captures the confirmed exception. The Display Condition that controls both the warning and the capture field uses the same logical expression in each mode: Physical MRP is not equal to Master MRP.
The on-save workflow monitors whether the Revised Price field was filled and, when it was, flags the submission and pushes a structured record to the exception log. Both scan and manual entry modes feed the same exception log with the same field structure, so the reporting layer treats all entries consistently regardless of how the data was captured.
Adding a Remarks validation that enforces context for price exceptions turns the exception log from a list of numbers into an actionable record that reviewers can assess without follow-up calls.
To get started, build your product master and store-level stock reference in Clappia, then configure the price check fields as described above. The Display Conditions, workflow, and exception log can all be set up without any coding.
L374, 1st Floor, 5th Main Rd, Sector 6, HSR Layout, Bengaluru, Karnataka 560102, India
3500 S DuPont Hwy, Dover,
Kent 19901, Delaware, USA

3500 S DuPont Hwy, Dover,
Kent 19901, Delaware, USA
L374, 1st Floor, 5th Main Rd, Sector 6, HSR Layout, Bengaluru, Karnataka 560102, India






.jpg)
