Overview
The Non-Conformance Management app provides a REST API for integrating with Power Platform, external services, or custom tools. The API covers Non-Conformance Headers, Lines, Action Plans, and Action Plan Lines.
For general Business Central API info, see
BC API Reference.
API Resource Summary
| Resource |
EntitySetName |
Description |
| Non-Conformances |
nonConformances |
Get the Non-Conformance Header and its related lines. It allows you to retrieve information about non-conformance cases, including details such as description, status, severity, and associated lines with related items, quantities, pricing / costing information as well as tracking information. |
| Action Plans |
actionPlans |
Get Action Plan and its related lines. It allows you to retrieve information about action plans associated with non-conformance cases, including details such as description, status, due dates, and associated tasks, assignment and completion information.’ |
APIGroup: nonConformanceManagement
EntityName: nonConformance
EntitySetName: nonConformances
Methods
| Method |
Return Type |
Description |
| GET |
Non-Conformance |
Gets an array of Non-Conformances |
Properties
| Property |
Type |
Description |
| number |
String |
Non-Conformance No. |
| description |
String |
Non-Conformance Description |
| status |
String |
Non-Conformance Status |
| createdBy |
String |
Created By |
| creationDate |
Date |
Creation Date |
| source |
String |
Non-Conformance Source |
| category |
String |
Non-Conformance Category |
| subcategory |
String |
Non-Conformance Sub-Category |
| severity |
String |
Non-Conformance Severity |
| estimatedClosureDate |
Date |
Estimated Closure Date |
| realClosureDate |
Date |
Real Closure Date |
| referenceNonConformanceNumber |
String |
Reference Non-Conformance No. |
| sourceType |
String |
Non-Conformance Source Type |
| sourceNumber |
String |
Non-Conformance Source No. |
| currencyCode |
String |
Non-Conformance Currency Code |
| contactNumber |
String |
Non-Conformance Contact No. |
| contactName |
String |
Non-Conformance Contact Name |
| sourceEmailAddress |
String |
Non-Conformance Source E-mail Address |
| evaluation |
String |
Non-Conformance Evaluation |
| externalNonConformanceNumber |
String |
External Non-Conformance No. |
| lineNumber |
Number |
Line No. |
| nonConformanceType |
String |
Non-Conformance Type |
| sourceDocumentType |
String |
Source Document Type |
| sourceDocumentLineNo. |
Number |
Source Document Line No. |
| itemNo. |
String |
Item No. |
| variantCode |
String |
Variant Code |
| unitOfMeasureCode |
String |
Unit of Measure Code |
| sourceQuantity |
Number |
Source Quantity |
| nonConformanceQuantity |
Number |
Non-Conformance Quantity |
| sourceUnitPrice |
Number |
Source Unit Price |
| sourceUnitPriceLcy |
Number |
Source Unit Price (LCY) |
| nonConformanceUnitPrice |
Number |
Non-Conformance Unit Price |
| sourceAmount |
Number |
Source Amount |
| sourceAmountLcy |
Number |
Source Amount (LCY) |
| nonConformanceAmount |
Number |
Non-Conformance Amount |
| serialNumber |
String |
Serial No. |
| lotNumber |
String |
Lot No. |
| packageNumber |
String |
Package No. |
| severity |
String |
Severity |
| lineDescription |
String |
Line Description |
| commentsForNonConformanceRpt |
String |
Comments for Non-Conformance Report |
| externalDocumentNumber |
String |
External Document No. |
HTTP Request
GET businesscentralPrefix/api/bricklead/nonConformanceManagement/v2.0/companies({companyId})/nonConformances
Filtering Examples
# By number
GET .../nonConformances?$filter=number eq 'NC-000123'
# By status
GET .../nonConformances?$filter=status eq 'Open'
# By creation date
GET .../nonConformances?$filter=creationDate ge 2026-01-01
Response Example
{
"value": [
{
"@odata.etag": "string",
"number": "string",
"description": "string",
"status": "string",
"createdBy": "string",
"creationDate": "date",
"source": "string",
"category": "string",
"subcategory": "string",
"severity": "string",
"estimatedClosureDate": "date",
"realClosureDate": "date",
"referenceNonConformanceNumber": "string",
"sourceType": "string",
"sourceNumber": "string",
"currencyCode": "string",
"contactNumber": "string",
"contactName": "string",
"sourceEmailAddress": "string",
"evaluation": "string",
"externalNonConformanceNumber": "string",
"nonConformanceNumber": "string",
"lineNumber": 1,
"nonConformanceType": "string",
"sourceDocumentType": "string",
"sourceDocumentNumber": "string",
"sourceDocumentLineNumber": 1,
"itemNumber": "string",
"variantCode": "string",
"unitOfMeasureCode": "string",
"sourceQuantity": 10.0,
"nonConformanceQuantity": 2.0,
"sourceUnitPrice": 5.0,
"sourceUnitPriceLcy": 5.0,
"nonConformanceUnitPrice": 4.5,
"sourceAmount": 50.0,
"sourceAmountLcy": 50.0,
"nonConformanceAmount": 9.0,
"serialNumber": "SN123",
"lotNumber": "LOT1",
"packageNumber": "PKG1",
"severity": "Major",
"lineDescription": "Damaged packaging",
"commentsForNonConformanceRpt": "Visible dent",
"externalDocumentNumber": "EXT-001"
}
]
}
2. Action Plan
APIGroup: nonConformanceManagement
EntityName: actionPlan
EntitySetName: actionPlans
Methods
| Method |
Return Type |
Description |
| GET |
Action Plan Header |
Gets an array of Action Plans |
Properties
| Property |
Type |
Description |
| number |
String |
Action Plan No. |
| nonConformanceNumber |
String |
Non-Conformance No. |
| nonConformanceType |
String |
Non-Conformance Type |
| description |
String |
Description |
| status |
String |
Status |
| dueDate |
Date |
Due Date |
| lineNumber |
Number |
Line No. |
| lineDescription |
String |
Description |
| function |
String |
Function |
| maxActionPlanTime |
Number |
Max. Action Plan Time |
| estimatedDateToComplete |
Date |
Estimated Date to Complete |
| completionDuration |
Number |
Completion Duration (in hours) |
| isCompleted |
Boolean |
Is Completed |
| completionDate |
Date |
Completion Date |
| completedBy |
String |
Completed By |
| assignedUserTaskId |
String |
Assigned User Task Id |
| assignedUserTaskTo |
String |
Assigned User Task To |
| assignedUserTaskToUserName |
String |
Assigned User Task To UserName |
HTTP Request
GET businesscentralPrefix/api/bricklead/nonConformanceManagement/v2.0/companies({companyId})/actionPlans
Filtering Examples
# By Action Plan No.
GET .../actionPlansHeader?$filter=number eq 'AP-000321'
# By Status
GET .../actionPlansHeader?$filter=status eq 'Open'
Response Example
{
"value": [
{
"@odata.etag": "string",
"number": "AP-000321",
"nonConformanceNumber": "NC-000123",
"nonConformanceType": "Vendor",
"description": "Root cause analysis and corrective action",
"status": "Open",
"dueDate": "2026-02-01",
"lineNumber": 1,
"lineDescription": "Investigate root cause",
"function": "Quality",
"maxActionPlanTime": 8,
"estimatedDateToComplete": "2026-01-28",
"completionDuration": 4,
"isCompleted": false,
"completionDate": null,
"completedBy": null,
"assignedUserTaskId": "UT-001",
"assignedUserTaskTo": "user1",
"assignedUserTaskToUserName": "John Doe"
}
]
}