Batch jobs and batch groups in Dynamics 365 Finance
How F&O's batch framework runs background processing — batch jobs, batch groups, schedules, server allocation, and operational monitoring.
Dynamics 365 Finance and Supply Chain runs substantial background processing — periodic invoicing, master planning, inventory closing, electronic-reporting submissions, integration imports / exports. The batch framework is the platform's scheduler and execution engine; understanding it is essential to running a tenant at scale.
Batch jobs. A batch job is the unit of scheduled work. Each batch job:
- Caption — human-readable description.
- Scheduled start — when it first runs.
- Recurrence — one-time, daily, weekly, monthly, hourly, or custom cron-style expressions.
- Status — Scheduled, Executing, Ended, Error, Cancelled.
- Batch group — assignment to a processing pool (see below).
- Tasks — one or more units of work within the job.
A single batch job can contain multiple tasks, each a separate process. Tasks run in defined sequence with dependencies; complex jobs orchestrate multi-step pipelines.
Batch groups. A batch group is a named processing pool that segregates batch jobs by purpose or priority:
- Default — most batch work, general-purpose.
- High-priority — for time-sensitive work that shouldn't wait behind lower-priority jobs.
- Long-running — for jobs taking hours; isolated so they don't block shorter jobs.
- Integration — for inbound / outbound integration processing.
- Reporting — for report generation.
- Custom — any business-specific pool.
Each batch group has configured parallelism — how many threads / batch servers can run jobs in that group simultaneously. The split lets administrators allocate resources: critical integrations on a dedicated high-parallelism group; reporting on a lower-priority group.
Batch servers. Behind the scenes, batch servers are F&O application servers configured to process batch work. Each server is assigned to one or more batch groups; servers in the same group share the workload. Microsoft manages batch-server provisioning in SaaS F&O; the customer controls allocation through batch group configuration.
Tasks and dependencies. Within a batch job, tasks have dependencies — task B starts only after task A completes successfully. The model supports:
- Sequential — A → B → C.
- Parallel — A and B run concurrently, then C waits for both.
- Conditional — task B runs only if task A succeeded; alternative task C runs if A failed.
Complex multi-step nightly routines compose as task graphs within one batch job.
Common batch jobs.
- Master planning runs — typically nightly regenerative plans.
- Inventory closing — month-end or quarter-end.
- Adjust Cost — Item Entries equivalent — incremental cost recalculation.
- Currency revaluation — period-end FX revaluation.
- Recurring invoicing — subscription / recurring contract billing.
- Sales / purchase reservation cleanup — release stale reservations.
- Electronic reporting submissions — periodic statutory filings.
- Integration data exports — to / from external systems.
- Job queue equivalent operations — anything that doesn't need user interaction.
Monitoring. The Batch History workspace lists every batch job execution with:
- Start time, end time, duration.
- Status (success, failure, cancelled).
- Detailed log per task.
- Error messages and stack traces for failures.
The System administration workspace surfaces batch health globally — currently running, queued, failed. Telemetry through Application Insights tracks long-term trends.
Failure handling.
- Retry — failed tasks can retry automatically per configured policy.
- Notification — failures can trigger email or Teams notifications to operations.
- Manual intervention — administrators can resume, restart, or skip failed tasks.
- Cascade behaviour — a failed task can either halt subsequent tasks or skip and proceed.
Throttling and resource management. Heavy batch loads can compete with interactive users for resources. Manage through:
- Time-of-day scheduling — heavy jobs during off-hours.
- Batch group allocation — interactive-impacting jobs on isolated batch groups.
- Concurrent limits per batch group.
- Job priority within a group.
Common pitfalls.
- Job piles up due to under-allocated batch group — work queues but doesn't run because no server is available.
- Conflicting jobs with no isolation — heavy inventory closing kills user-interaction performance.
- Failed jobs left in error — operations team doesn't notice; downstream processes miss data.
- Schedule drift — jobs scheduled to run at fixed times accumulate drift; reconsider scheduling weekly vs cron.
Operational reality. The batch framework is the operational engine of F&O. Configure batch groups thoughtfully; monitor execution daily; investigate failures promptly. Mature operations run hundreds of batch jobs daily without anyone noticing.
Related guides
- Master planning groups in Dynamics 365 Supply ChainHow master planning groups configure replenishment behaviour per item in F&O — coverage groups, item allocation keys, and the policies that shape MRP.
- Alerts and notifications in Dynamics 365 FinanceHow F&O's alert framework surfaces important events — alert rules, due-date triggers, change events, delivery to action centre and email.
- Catch weight items in Dynamics 365 SCMHow F&O handles variable-weight inventory like meat, cheese, and produce — the dual unit-of-measure model, catch weight tags, and the operational gotchas of selling by one unit and inventorying by another.
- Consignment inventory in Dynamics 365 SCMHow F&O handles consignment inventory — vendor-owned stock on customer premises and customer-owned stock at our locations, the accounting and operational rules, and the consumption posting model.
- Cost management and inventory closing in F&OHow Dynamics 365 Supply Chain handles inventory costing — closing runs, recalculation, marking, and the differences from Business Central.