On many rigs and sites the daily report is still paper. The toolpusher or site supervisor fills it in at end of shift, someone in the office scans it or re-keys it, and you see it a day or two later.
Field tickets take the same route to the customer, usually with a signature chased by email.
A daily field report built in Power Apps replaces that with one record per rig or site per day. The crew enters it on a phone or tablet, a supervisor approves it, and head office sees it once it syncs.
What a rig or site daily report captures
On drilling rigs, the IADC Daily Drilling Report is the recognised reference. It covers rig activity through the day, crew for payroll, and the equipment on location. Service crews and construction sites capture much the same. In Dataverse that becomes a parent record with child tables:
| Part of the report | What the crew enters | How to model it |
|---|---|---|
| Header | Rig or site, job, date, shift, weather | Daily Report table with a status column |
| Hours and activities | From/to time, activity code, description | Activity lines; codes from a lookup table |
| Crew | Who was on shift, role, hours, overtime | Crew lines linked to people |
| Equipment | Units on location, hours run, downtime | Equipment lines linked to your asset list |
| Safety | The JSA/FLHA completed for that shift | Lookup to the safety form record |
| Photos | Site conditions, damage, meters | Image or file columns |
| Sign-off | Supervisor signature and approval date | Signature plus approval fields |
A field ticket is a close cousin. It has the same job, crew and equipment lines, priced against a rate sheet and signed by the customer’s representative. Build both on the same tables and the ticket can be generated from the approved daily report instead of typed twice.
Linking the JSA/FLHA to the daily report helps at audit time. You can show that the hazard assessment for that crew and that task was done before work started, without digging through a binder.
Canvas app for the crew, model-driven app for the office
Use a canvas app in the field. The crew gets purpose-built screens for the daily report, plus the camera, barcode scanning and GPS.
Use a model-driven app in the office. It sits over the same Dataverse tables and suits reviewing reports, managing approvals and tracking tickets.
You can embed a canvas app inside a model-driven app for office users. Keep the crew’s app standalone, though: embedded canvas apps, custom pages and canvas apps pinned in Teams don’t work offline.
Working offline at sites with poor coverage
Most offline design decisions come down to Microsoft’s limits for offline canvas apps:
- Run it as a standalone canvas app in the Power Apps mobile app, not as a Teams tab.
- Keep the data in Dataverse. SharePoint lists and other non-Dataverse connectors aren’t supported offline, so list or Excel data has to move into Dataverse first.
- Filter the offline profile. The auto-generated profile downloads every row a user can see, so limit it to the user’s rig or site and recent days to keep the first sync quick.
- Use image or file columns for photos. Notes attachments aren’t supported offline, and a profile allows up to 14 image columns across all tables.
- Calculate totals in the app. Calculated and roll-up fields, like total daily hours, only recalculate on the server after sync.
- Keep relationships simple. Parent-to-child lookups work well; many-to-many relationships aren’t supported offline.
Sync runs every five minutes while online, but only while the app is open in the foreground and the phone isn’t locked.
Tell crews: when you reach coverage, open the app and wait until pending changes clear before you put the phone away.
Routing supervisor approval with Power Automate
Power Automate flows don’t run inside an offline app, so don’t start the approval from a button on the form. Trigger the flow in Dataverse when the row changes to Submitted. The approval then routes as soon as the truck reaches coverage and the record syncs.
Power Automate supports sequential approvals, which suits a report that goes from rig manager to superintendent. Approvers respond from Outlook, a Teams card or the Power Automate action center, so a superintendent in the office and a rig manager on location use the same flow.
Rejected reports go back to the crew with a comment. Approved field tickets can move on to the customer and to invoicing.
Getting approved reports into Power BI
Head office reads approved reports through the Power BI Dataverse connector. Import mode is Microsoft’s recommended default. DirectQuery gives real-time data and applies Dataverse security more strictly.
Set up three things early:
- Enable the Dataverse TDS endpoint.
- Filter by date range and approval status, because query results are capped at 80 MB.
- Keep activity codes in a single-choice column or a lookup table. Multi-select choice columns come through as integers only.
From there, one report shows hours by activity code, non-productive time, crew hours for payroll and equipment downtime across every rig or site.
How Bonanza Drilling runs it
Bonanza Drilling, an Alberta drilling contractor, runs field tickets, HSE checklists and payroll export on Dataverse and canvas apps, with offline entry. They retired more than 25 paper forms, and data retrieval went from about 30 minutes to instant. Read the Bonanza Drilling case study, and see how they replaced 20+ checklist forms with one control.
Packaged app or build on your Microsoft 365?
There are good packaged daily-report and field-ticketing apps for oil and gas. You can also build on the Microsoft 365 tenant you already pay for.
| Packaged field app | Built on your Microsoft 365 | |
|---|---|---|
| Suits | Teams happy to adopt a vendor’s standard report format | Teams whose reports, tickets and approvals follow their own process |
| Data | Stored in the vendor’s platform | Stored in your Dataverse, alongside your other business data |
| Fits with | The vendor’s own reports and integrations | Your Teams, Outlook, SharePoint, Power BI and payroll or ERP |
| Changes | Through the vendor’s configuration options | You change forms, fields and approval steps as your process changes |
| Beyond daily reports | Depends on the product | Same platform for timesheets, JSA/FLHA, inspections and assets |
A packaged app suits a company that wants a subscription it doesn’t have to own. Building on Microsoft 365 suits a company that already runs on the tenant, wants one data model across daily reports, tickets, timesheets and safety forms, and wants head office reporting in its own Power BI.
If you build, plan licensing up front. Offline needs Dataverse, and Dataverse is a premium feature, so every field user needs a Power Apps licence. That’s Premium at $20 per user per month list price, or per app at $5 per user per app per month.
Where to start
Start where paper still gets filled out and re-keyed later. For most crews that’s the daily report or the field ticket. Pick your first two use cases, then work in this order:
- Define the Dataverse tables and confirm licensing for every field user: an F3 or E plan, plus Power Apps Premium or per app.
- Build the crew’s canvas app and the approval flow.
- Test offline in airplane mode with a few testers, comparing offline and online data.
- Roll out to one rig or site, take the crew’s feedback, then extend.
We build daily report, field ticket and safety form apps on your Microsoft 365. See how we handle field operations for drilling, then book a discovery call and we’ll map your first two use cases with you.