Hi Team,
We have identified a scenario related to Service Purchase Orders where the standard Microsoft Dynamics 365 Business Central application supports Receipt Quantity up to 5 decimal places only.
In the current business scenario, the Service Purchase Order is created with a quantity of 1, while the PO carries a specific monetary value. When the vendor submits an invoice for a partial amount, we need to create the GRN/SRN based on the invoice value.
However, in certain cases, matching the exact invoice value requires the receipt quantity to be calculated up to 7 decimal places. Since Business Central supports only up to 5 decimal places for the receipt quantity, the exact invoice value cannot always be matched through the standard quantity-based receipt process.
Proposed Approach
As an alternative to increasing the quantity decimal precision, we propose considering a value-based receipt mechanism for Service Purchase Orders.
Under this approach:
- For Service POs, the Quantity would not be the primary basis for creating the GRN/SRN.
- The receipt would be created based on the monetary value of the service received/invoiced.
- The system would track the PO value, already received value, and remaining/available PO value.
- The user would be allowed to create a GRN/SRN for the required service value, provided that the cumulative received value does not exceed the total PO value.
- Once the complete PO value has been received, the system should prevent any further GRN/SRN against that PO.
- Partial receipts would continue to be supported, allowing multiple GRNs/SRNs against the same Service PO until the total PO value is fully consumed.
Example
Suppose a Service PO is created as follows:
PO Quantity: 1
PO Value: USD 100,000
The vendor subsequently submits an invoice for:
Invoice Value: USD 25,350.75
Instead of calculating a receipt quantity such as 0.2535075 to match the invoice value, the user would simply create the GRN/SRN for a receipt value of USD 25,350.75.
The system would then maintain:
PO Value: USD 100,000
Received Value: USD 25,350.75
Remaining Value: USD 74,649.25
If another invoice is received for USD 30,000, the next GRN/SRN can be created for USD 30,000.
The system would continue this process until the total received value reaches USD 100,000.
Validation
To maintain control over the PO, the system should validate that:
Total Received Value ≤ PO Value
For example, if the remaining PO value is USD 10,000, the system should not allow a GRN/SRN for USD 12,000.
This approach would eliminate the dependency on 7-decimal quantity precision and would allow the business to process Service PO receipts based on the actual service value.
Benefits
This approach would:
- Avoid the standard 5-decimal quantity limitation in Business Central.
- Eliminate the need to calculate quantity up to 7 decimal places.
- Allow accurate matching of vendor invoice values.
- Support multiple partial GRNs/SRNs against the same Service PO.
- Ensure that the total received value does not exceed the PO value.
- Provide better alignment with a value-based service procurement process.
- Reduce the dependency on quantity-based workarounds for Service POs.
Recommendation
Considering that this requirement is specifically applicable to Purchase Orders, we recommend evaluating a value-based GRN/SRN process as a more sustainable solution rather than modifying the standard quantity decimal precision.
