Business Central Functional Design Document Template
Every Business Central customisation should start with a short, shared document. This template walks from requirement to standard behaviour, gap, options, solution, objects and tests so consultant, developer and business owner agree before any AL is written.
Fill in
Business Central Functional Design Document Template
Functional Design Document FDD-014: Production order scrap reason code
Area: Manufacturing Author: A. Consultant Date: 2026-11-09 Priority: Should have Estimated effort: 6 days
1. Business requirement
Operators must record a reason code whenever scrap is reported on a production order output line, so quality can analyse scrap by cause.
2. Standard Business Central behaviour
Standard BC records scrap quantity and scrap percent on routing lines but has no reason code on posted output journal lines.
3. Gap and options
Option A: configure standard functionality only. Option B: personalise pages without code. Option C: build an AL extension.
Recommended: see proposed solution below.
4. Proposed solution
Add a Scrap Reason Code table and a field on the output journal line that is required when scrap quantity is greater than zero. Carry the value to the capacity ledger entry.
5. Objects affected
| Object type | Name or ID | Change | Notes |
|---|---|---|---|
| Table | New / extend | ||
| Page | New / extend | ||
| Codeunit | Event subscriber | ||
| Report | New / modify | ||
| Permission set | Add objects |
6. Data, migration and permissions
Describe new setup data, migration of existing records and which roles need access. Include upgrade impact for future BC versions.
7. Test cases
| Test | Steps | Expected result | Pass/Fail |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 |
Approvals
Replace the placeholder rows with your real objects and tests. Object ranges must come from your assigned ID range in app.json. Check event availability in your BC version before committing to a design.
Design review
Get an expert read of a BC design document before development begins. Optional.
Optional. The tool and every export work without this. No spam.
How to use it
Fill the fields for one change at a time. State the requirement in business terms, not as a technical solution. Describe what standard BC does today, which is the evidence for the gap. Choose the proposed solution and estimate effort. Export the document, complete the objects and test tables, then collect sign-off from the business owner and the developer.
Configure, personalise or extend
Business Central favours extensions over modifying base code. Always consider configuration first, then page personalisation or Power Platform options, and only then an AL extension. Extensions use events and extend existing objects, which keeps upgrades manageable. Documenting the options considered shows reviewers why code was needed and protects against scope creep.
- Prefer event subscribers over copying standard logic
- Keep each extension focused on one capability
- Record permission set changes in the same document
Writing good test cases
Write tests the business can run in the sandbox: starting data, steps, expected result. Include a negative test, such as trying to post without the new required value, and a permission test with a limited user. Link the test IDs to your user acceptance test script so nothing built is left untested.
Common mistakes
Skipping the standard behaviour section leads to rebuilding what BC already does. Another mistake is omitting upgrade impact: changes to posting routines, tables used by Microsoft apps and obsolete features cause trouble when BC releases a new wave. Finally, forgetting permission sets means a feature works for the developer and fails for every user.
Frequently Asked Questions
Do I need a separate FDD for every change?
For anything beyond configuration, yes, but keep each short. One to three pages per capability is typical. Small related changes can share a document if they ship together and have the same owner and tests.
What is the difference between functional and technical design?
The functional design explains what the system should do and why, in business language. The technical design explains how objects, events and data structures will implement it. This template combines both at a light level; split them for larger solutions.
How do I estimate effort reliably?
Count affected objects, integration points, test effort and documentation. Add time for permissions, upgrade checks and review. Compare against similar past changes. Give a range when uncertainty is high and refine after the solution is validated in a sandbox.
Does the template cover Power Automate or API integrations?
Use the Integration functional area and list the endpoints, flows or web services in the objects table. Add authentication, error handling and volume notes in the data and permissions section, since those drive most integration defects.
Netray can accelerate specification and AL drafting with private AI assistants that stay under developer review. Ask how that would fit your partner team.
Related Tools
Business Central Implementation Statement of Work Template
A fill-in SOW for Business Central projects covering scope, phases, deliverables, assumptions, change control and acceptance.
Microsoft DynamicsBusiness Central User Acceptance Test Script Template
A UAT script for Business Central processes such as order to cash and purchase to pay, with steps, expected results and sign-off.
Microsoft DynamicsBusiness Central Data Migration Field Mapping Worksheet
Map every legacy source field to a Business Central table and field, record the transformation rule and volume, and see how much data is ready to load.
More Microsoft Dynamics tools
See all- Business Central API v2.0 URL Builder
- Business Central Configuration Package Worksheet
- Business Central Permission Set Design Worksheet
- Business Central Year-End Close Checklist
- Business Central Posting Groups Setup Worksheet
- Business Central Chart of Accounts Mapping Worksheet
- Business Central Go-Live Cutover Plan Template
- Business Central License Cost Calculator
- Business Central Core Table Numbers Reference