Offline Field Data Capture
with D365 F&O
& Power Platform
Most field data still reaches the ERP via email, paper, or manually re-keyed spreadsheets. We built an alternative. This is the production-tested architecture our team uses for offline field data capture — timesheets, expenses, and materials collected through a Power Platform Canvas App, orchestrated via Power Automate, and landed in SharePoint + Dynamics 365 F&O. Zero data loss, zero transcription errors, zero manual triage.
- Online and offline field data capture — works with or without connectivity, syncs automatically
- Role-based UI — foremen manage teams, workers log their own data
- Dual back-end — documents to SharePoint, financial records to D365 F&O
- Standard APIs — Graph API for SharePoint, OData for D365 F&O
The Problem
Field personnel — foremen managing crews and individual workers logging hours — need to record four categories of data every shift: their own timesheets, team timesheets (foremen only), on-site expenses, and materials consumed. Paper forms and spreadsheets sent via email create delays, transcription errors, and a compliance headache when the data eventually reaches Finance & Operations.
The requirements are straightforward but hard to satisfy simultaneously: the interface must work offline on tablets and phones using Canvas App offline capabilities, enforce consistent formatting so downstream processing never chokes on bad data, support role-based views (workers see only their own records; foremen see and approve their team's), and synchronize automatically the moment connectivity returns — pushing documents to SharePoint and validated records to D365 F&O via OData endpoints without manual intervention.
Solution Architecture
The architecture separates concerns into three layers: a front-end capture layer (Canvas App), an orchestration layer (Power Automate), and a dual back-end (SharePoint + D365 F&O). Each layer communicates through well-defined APIs.
Solution Components
What We Learned Building This
Canvas App offline is the default, not the fallback
The single biggest design decision was treating offline as the normal operating mode, not an edge case. Canvas App local storage has a practical limit of around 2,000 records or ~30 MB per collection, which covers most field teams submitting daily without issue. But for crews operating in multi-week offline environments — remote mining sites, offshore platforms, tunneling projects — we added a periodic local purge of successfully synced records to keep the cache lean. The key insight: if the offline experience feels like a degraded version of the online one, adoption drops fast. We designed the UI so there is no visible difference between connected and disconnected states.
SharePoint as a staging layer, not a workaround
Early in the project, there was pressure to push everything directly into D365 F&O. That sounds efficient until you realize that field workers attach photos of damaged materials, scanned receipts, and signed daily reports — none of which belong in an ERP. SharePoint turned out to be the right intermediate layer: it handles the unstructured data that managers actually want to browse, while D365 F&O receives only the clean, validated financial records. This split also made error handling simpler. When an OData call to F&O fails validation (missing cost category, inactive project, budget overrun), the raw submission is already safely stored in SharePoint. Nothing is lost, and the worker gets a push notification explaining what to fix.
Conflict resolution that people trust
When a foreman approves a timesheet offline at the same time a worker edits it, the sync process needs a conflict strategy. We evaluated several approaches and landed on the simplest one: last-write-wins with a full audit trail. Every submission carries a version timestamp. If the sync detects a conflict, it writes the newer version and logs the overwritten data to a dedicated SharePoint list. In six months of production use, the audit list has been reviewed exactly twice — but knowing it exists gave the finance team confidence to approve the architecture.
D365 F&O OData is good enough — don't over-engineer
D365 F&O exposes data entities through OData v4 endpoints natively. The Power Automate flows map Canvas App fields directly to the corresponding data entities: TSTimesheetLine for timesheet entries, TrvExpTrans for expense lines, and InventJournalTrans for material consumption. Each POST includes the financial dimensions (project, cost center, activity) so the ERP posts to the correct ledger accounts without manual reclassification. No custom APIs, no middleware, no Azure Functions. The temptation to add abstraction layers was strong, but the native OData surface turned out to be sufficient for everything the field teams needed.
Security without friction
All data in transit uses TLS 1.2+. Data at rest in SharePoint Online and D365 F&O is encrypted by the Microsoft 365 platform. Role-based access is enforced through Entra ID security groups, and all OData calls run under a service principal with least-privilege permissions scoped to the specific data entities needed. The Canvas App checks group membership at launch and renders the appropriate screens — foremen get team management views; workers get a streamlined entry form. No separate login, no extra credentials.
Why this reads differently from most D365 integration guides
Most content on this topic stays at feature-overview level — what the platform can do, not what happens when you actually build it. We shared the SaveData limits, the specific OData entity names, the conflict resolution approach, and the SharePoint staging pattern because these are the details that matter when a project hits production. This architecture has been live for six months across multiple field crews. The patterns here aren't theoretical — they're what survived contact with real tablets, real job sites, and real finance teams approving the data at the other end. At DMexec, we don't just consult on these integrations — we provide the dedicated D365 F&O and Power Platform developers who build and maintain them.
Who Needs This
FAQ
Yes. Canvas Apps support offline mode using SaveData and LoadData functions. Field personnel capture timesheets, expenses, and material usage without connectivity. When the device reconnects, Power Automate flows synchronize the data to SharePoint and D365 F&O automatically.
Power Automate uses two integration channels: the Microsoft Graph API to store documents and structured data in SharePoint, and OData endpoints exposed by D365 F&O to push validated records into the ERP for financial processing, journal posting, and project cost tracking.
Two primary roles: Workers who submit their own timesheets, expenses, and materials consumed, and Foremen who additionally manage and approve team timesheets. The Canvas App adapts based on Entra ID security group membership, showing management views only to authorized foremen.
SharePoint handles file attachments (photos, receipts, signed forms) and provides easy-to-configure lists for intermediate data. D365 F&O then receives only validated, structured records for financial processing — keeping the ERP clean and reducing integration complexity.
The Power Automate flow logs the full error response to a SharePoint exceptions list and sends a push notification to the submitter with a plain-language explanation. The original submission stays in the Canvas App's local queue for re-submission after correction — nothing is lost.
Last-write-wins with an audit trail. Every submission carries a version timestamp. If the sync detects a conflict, it writes the newer version and logs the overwritten data to a SharePoint list for review. Simple, transparent, and auditable.
Yes — construction is the primary use case. Field crews track labor hours, materials consumed, and on-site expenses by project, phase, and cost code. The offline capability is critical on active job sites where connectivity is unreliable.
Absolutely. Any industry where field personnel generate financial data that needs to reach an ERP system is a fit: utility providers logging crew hours and equipment usage, oil & gas operators submitting daily field tickets, and facilities management firms recording time and expenses across client sites. The common thread is the combination of offline field conditions, structured financial data requirements, and an existing Microsoft ecosystem.
Need a Team That
Builds This?
This use case was built by our Microsoft team. If you're evaluating a similar solution, we're happy to walk through the details.
Book a Technical Call