This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
We are using concur invoice and are having issues implementing three-way matching. Working with support we are being told that what we want to do is not possible.
Our current process is to upload all POs and Receipts from our ERP system into Concur on a daily basis. When Concur receives invoices they are brought in through invoice processing and are automatically matched to POs and receipts at the line level.
We are trying to exactly match invoice line quantity to receipt line quantities. We understand that Concur does a FIFO match since our delivery slip numbers are not listed on the supplier invoice; however, the FIFO does not respect quantities and will under-allocate and then over-allocate one receipt and leave another completely unallocated.
Has anyone had success in directly matching invoice line quantities to receipt line quantities in an automated method with high accuracy?
If Concur cannot do this natively are there any 3rd party programs that have been written to leverage the API to do this?
Solved! Go to Solution.
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Hi @Isaac-CIS ,
In SAP Concur, the standard configuration cannot ensure precise matching of invoice line quantities to individual receipt (GRN) line quantities. To achieve this level of accuracy, the matching must be handled in the ERP system or implemented through a custom integration using APIs.
1. In SAP Concur, three-way matching works mainly at the PO line level, not strict receipt (GRN) line level.
2. Concur checks that Invoice Quantity ≤ Total Received Quantity for the PO line.
3. The system uses FIFO logic to consume receipts, but does not strictly respect individual receipt line quantities.
4. Because of this, receipts may be under-allocated, over-allocated, or skipped, which is expected behavior.
5. Exact invoice line ↔ receipt line quantity matching is not supported natively in Concur configuration.
6. To achieve strict matching, companies typically:
7. Another workaround is to upload aggregated receipts per PO line instead of individual GRNs to reduce allocation issues.
Below is the short process for the workarounds suggested above in point #6 and #7.
Option 1: 3-way matching in the ERP system
Use Concur only for invoice capture and workflow, then send invoices to ERP.
Process:
This is the most stable architecture.
Option 2: custom logic using the SAP Concur API
Some companies build middleware using the SAP Concur API.
Typical architecture:
1. Pull data via API
2. Middleware performs strict allocation logic.
3. Update invoice allocations back via API.
Challenges:
Option 3: upload aggregated receipts per PO line instead of individual GRNs
Instead of loading each GRN, upload aggregated receipts per PO line.
Example:
Instead of:
| GRN | Qty |
| GRN1 | 40 |
| GRN2 | 60 |
Upload:
PO line Received
| GRN | Qty |
| Line 1 | 100 |
Then Concur logic behaves predictably.
Note - I would recommend considering Option 1 or Option 3, as they are easier to implement and involve fewer challenges compared to Option 2.
If this answers your query, then please mark solution as accepted.
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Hi @Isaac-CIS ,
In SAP Concur, the standard configuration cannot ensure precise matching of invoice line quantities to individual receipt (GRN) line quantities. To achieve this level of accuracy, the matching must be handled in the ERP system or implemented through a custom integration using APIs.
1. In SAP Concur, three-way matching works mainly at the PO line level, not strict receipt (GRN) line level.
2. Concur checks that Invoice Quantity ≤ Total Received Quantity for the PO line.
3. The system uses FIFO logic to consume receipts, but does not strictly respect individual receipt line quantities.
4. Because of this, receipts may be under-allocated, over-allocated, or skipped, which is expected behavior.
5. Exact invoice line ↔ receipt line quantity matching is not supported natively in Concur configuration.
6. To achieve strict matching, companies typically:
7. Another workaround is to upload aggregated receipts per PO line instead of individual GRNs to reduce allocation issues.
Below is the short process for the workarounds suggested above in point #6 and #7.
Option 1: 3-way matching in the ERP system
Use Concur only for invoice capture and workflow, then send invoices to ERP.
Process:
This is the most stable architecture.
Option 2: custom logic using the SAP Concur API
Some companies build middleware using the SAP Concur API.
Typical architecture:
1. Pull data via API
2. Middleware performs strict allocation logic.
3. Update invoice allocations back via API.
Challenges:
Option 3: upload aggregated receipts per PO line instead of individual GRNs
Instead of loading each GRN, upload aggregated receipts per PO line.
Example:
Instead of:
| GRN | Qty |
| GRN1 | 40 |
| GRN2 | 60 |
Upload:
PO line Received
| GRN | Qty |
| Line 1 | 100 |
Then Concur logic behaves predictably.
Note - I would recommend considering Option 1 or Option 3, as they are easier to implement and involve fewer challenges compared to Option 2.
If this answers your query, then please mark solution as accepted.
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Hi Pooja,
Thank you for that clear explanation and description of our options.
For Option 1,
If we want the completed three-way match that has been performed on the ERP side to be reflected in Concur, are we able to automate Concur's matching by providing a delivery receipt information after the invoice has been captured?
For example:
Invoice Capture occurs in Concur
Concur API is used to pull invoice information
Match is performed in ERP
Using the matched receiver information in ERP, pull delivery slip from ERP and update Concur Invoice using Concur API
Have Concur perform exact match using delivery slip.
Regards,
Isaac
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Hi @Isaac-CIS ,
We have not implemented this option previously, so I cannot guarantee its accuracy. However, based on my understanding of this scenario, it may only work partially.
While certain parts of the flow can be automated, SAP Concur cannot reliably trigger its matching rules simply by sending delivery receipt information after the invoice has already been captured.
What works:
Limitation:
Updating the delivery/receipt information does not automatically make Concur re-run matching.
Best practice:
OR
For example, you can create a custom field on the invoice header to store the ERP matching status (e.g., Matched, Partially Matched, Mismatch). Based on this status, an audit rule can be configured to prevent users from submitting the invoice unless the ERP matching status is “Matched.”
In this setup, SAP Concur performs only 2-way matching (Invoice + PO), while the actual 3-way matching that includes the GRN is performed in the ERP system. The resulting 3-way match status is then sent back and updated on the invoice header in Concur via API.
I believe these complexities can be avoided by keeping the process simple, as suggested in Option 1 in my previous response—where SAP Concur handles invoice capture and the workflow process, while the 3-way matching is performed entirely in the ERP system.
Alternatively, if you prefer to perform the 3-way matching within Concur, then Option 3 should meet your requirement.
If this answers your query, then please mark solution as accepted.
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Thank you Pooja. Yes, my intent was to perform matching within the ERP system, but it is important that we update Concur to reflect those matches since we use the GL extract from Concur to update our accounting system.
I was hoping to avoid coding the API to perform all the matching operations within Concur by providing the relevant information to Concur and letting it do a targeted match as outlined here: Delivery Slip Number Field for Three-Way Matching | SAP Help Portal.
That said it is possible that Option 3 will also work. Aggregating the receipts and then using a custom field to hold invoice export until we have fully matched an invoice and then populating the appropriate information on it prior to export. I'll discuss with the team here.
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Hi @Isaac-CIS ,
If I may request, once you’ve finalized your approach from the suggested options and completed the initial feasibility testing, could you please share an update with the community.
Also, feel free to mark the solution as accepted so it can benefit others with similar requirements in the future.