Quality control for Ashtrom: from the field to the ERP, in one system
Zooz-tech built a quality control system for Ashtrom Group that replaces spreadsheets, emails and paper: items with expiry dates and a traffic light, inspection reports from mobile with photos, checklists with digital signatures, automatic alerts and a live connection to Priority ERP. All of it runs on Power Pages and Dataverse, with a custom React interface.
Quality managed in spreadsheets and email
Silent expiry
Inspections and standard certifications expire, and nobody knows until it is too late.
Scattered information
Spreadsheets, emails, paper and Priority, with no single picture of the situation.
No audit trail
Who reported, who changed what, when and why: there was no way to know.
What the system does
An item is created, and the traffic light runs on its own
- A manager builds a new item type without a line of code: fields, inspections, alert rules and a preview.
- An item creation wizard that saves a draft from the very first step.
- The traffic light is calculated only by a server-side process, and the expiry date is anchored to the creation date, so it cannot be "extended" manually.
- The dashboard sorts plants from worst to best: what needs attention right now.
Inspection reports and checklists with signatures
- Inspection reports from the phone, with photos taken directly from the camera and compressed in the browser.
- Checklists that a manager builds in four steps: target, fields, frequency and recipients.
- Completion in the field with a digital signature on the screen.
- A daily process creates the checklist runs and sends reminders.
A live connection to Priority
- A quality event is opened from a real chain: customer, site and complaint, pulled live from Priority.
- Priority sits behind an on-premises data gateway, and every call goes through a controlled process.
- Only the complaint number is stored, without duplicating ERP data.
- Daily sync of about 421 concrete mixers and 218 suppliers.
Same screen, two worlds
- A super admin sees all companies, plants and the catalog. A plant manager sees only their own plants.
- 84 table permissions along the company, plant, item and report chain. Enforcement happens on the server, not in the browser.
- No deletion: only deactivation, and that is enforced by permissions too.
- Alert templates in Hebrew with merge fields, duplicate blocking and a log of every email as it was sent.
Four Power Pages walls we hit, and how we got past them
Plus security by design: no secrets in the browser. Priority and Outlook are reachable only through server-side processes, and file uploads go through a short-lived token signed by the server.
The Web API expands only one nested lookup
The solution: a read channel in Liquid FetchXML that still respects permissions.
Liquid crashes above 15 link-entities
The solution: a "hop" budget for each permission chain, measured per table.
Server Logic cannot sign SAS and is limited to 16KB
The solution: an Azure Function with Managed Identity that issues the token.
A site upload that deletes everything not present locally
The solution: a deploy kit with sync, a pre-check and a post-upload check.