The SAP Concur v4 Integration uses Concur's modern v4 API and an External Validator workflow step to deliver travel reports and expenses data to VAT4U in real time, process them through VAT4U's OCR and Smart AI pipeline, and (optionally) write the VAT amount, Recoverable VAT amount and Compliance results (on expense level) back to Concur.
The integration ships in two activation types:
Type | What it does | When to use |
Inbound (Receive Only) | VAT4U receives Concur events and retrieves reports and expenses data for processing. No data is pushed back to Concur. | When you want VAT recovery analytics and compliance reporting in VAT4U, while Concur remains unchanged as the system of record. |
Full Bidirectional | Everything in the inbound mode, plus VAT4U writes VAT amounts, Compliance flags (on expense level), and report approvals back to Concur. | When you want Concur reports enriched with VAT4U's VAT and compliance data. |
Both levels share the same connection and configuration screen - only the Pushback data toggle differs.
Common Prerequisites and Activation
These steps apply to both activation types.
Prerequisites
Active SAP Concur Customer
Admin rights on SAP Concur
Active VAT4U Customer
Step 1 - Connect via the Concur App Center
VAT4U's v4 integration is authorized through the Concur App Center:
In VAT4U, open Company Settings → Integrations → Concur integration.
Click Connect via Concur App Center.
Instructions and a demo video for connecting via the Concur App Center are available here: https://help.vat4u.com/en/articles/394897-sap-concur
Reconnecting
If the existing connection was not established via the Concur App Center, it must be reconnected through the Concur App Center in order to enable activation of the Bidirectional Integration.
Step 2 - Configure the External Validator step in Concur
For the Concur V4 Integration, your Concur administrator must add an External Validator step (bound to the VAT4U app) to every expense workflow that should route through VAT4U.
Step 3 - Activate the V4 Integration
Still in Company Settings → Integrations → Concur integration, locate the Activate Bidirectional Integration button and click on it.
Configure the integration settings in the displayed modal window:
Report status trigger - 'EXTERNAL VALIDATOR STEP CODE' set up in SAP Concur, when VAT4U should retrieve report and expenses metadata
Entity field - Field in Concur API response (Concur report data structure) that contains information about the legal entity.
Legal entity mapping - specify which company from Concur is corespondent to which company in VAT4U.
Categories mapping - assign a VAT4U category to every Concur Expense Type your company uses (categories in Concur can be different than VAT4U categories).
Note: Changes to Legal entity mapping and Categories Mapping apply to reports ingested after the mappings are saved. Already-ingested expenses keep their original data until manually changed.
Inbound v4 Integration (Receive Events and Retrieve Reports)
This type of integrations activates the inbound half of the Concur v4 Integration. VAT4U listens for Concur events, retrieves the corresponding reports and expenses data, and processes them through OCR + Smart AI. No data is written back to Concur.
Activation
Complete the Common Prerequisites and Activation steps above.
In Company Settings → Integrations → Concur integration, ensure that the Bidirectional Integration is ACTIVE.
Leave the "Pushback data" toggle OFF. This is the setting that distinguishes the inbound-only type from the full bidirectional integration.
Note: Despite the Bidirectional Integration title, activating it with Pushback data OFF results in a one-way (inbound) flow. Activating Pushback data is what makes the flow truly bidirectional.
What Is Synchronized?
Direction | Data |
Concur → VAT4U | Expense reports (header), expense entries (line items), receipt images. |
VAT4U → Concur | Nothing. |
Inbound Data Flow
Event. Concur emits a webhook events to VAT4U. Concur expense report is retrieved only when enters the subscribed workflow state ('VAT4U' step).
Header + entries fetch. VAT4U calls the Concur v4 Expense Reports API to retrieve the report and its expense entries.
Receipt retrieval. For every entry with an attached receipt, VAT4U downloads the receipt image via the Concur Receipts API.
Asynchronous processing. Each expense is enqueued for OCR and the Smart AI agentic extraction pipeline, producing:
Invoice metadata (vendor name, vendor VAT ID, invoice number, invoice date)
Net, gross, and VAT amounts per VAT rate
Recoverable VAT amount based on country of refund and category rules
Compliance audit flags
Ready for review. The expense is surfaced in Data Entry and Manage Expenses with status Ready for Review.
In inbound-only mode, the expense ends its lifecycle inside VAT4U - it is used for VAT recovery analytics and compliance reporting, but no information is pushed back to Concur.
Monitoring
All inbound activity is surfaced on the Concur Dashboard (per-company integration page):
KPIs (reports received, expenses processed, expenses with compliance flags).
Per-report processing status.
Processing error log.
Unmapped Expense Type warnings.
Connection health.
Source of Truth
Field | Owned by |
Vendor, amount, currency, dates, employee, cost object | Concur |
Receipt image | Concur (cached in VAT4U for processing) |
Recoverable VAT amount, VAT rate breakdown, tax codes | VAT4U (internal only - not visible in Concur) |
Compliance status and audit flags | VAT4U (internal only - not visible in Concur) |
Full Bidirectional v4 Integration (Pushback Activated)
This type of integration activates the outbound half of the Concur v4 Integration on top of the inbound flow. Every capability described in Inbound flow continues to apply - and additionally, VAT4U writes the computed VAT amounts along with compliance status to SAP Concur, and approves the report at the External Validator step once data is pushed back for all entries.
Activation
Complete the Common Prerequisites and Activation steps above.
Ensure the External Validator workflow step is configured in Concur and bound to the VAT4U app (see Step 2 - Configure the External Validator step in Concur).
In Company Settings → Integrations → Concur integration, ensure Bidirectional Integration is ACTIVE.
Toggle the "Pushback data" option to ON. This is the setting that enables write-back to Concur.
Select the data you want to push back and map it to 'Custom field' in Concur expense report data structure
Important: Reports arrive in VAT4U only when they reach the External Validator step in Concur.
What Is Synchronized?
Direction | Data |
Concur → VAT4U | Expense reports, expense entries, receipt images (same as inbound). |
VAT4U → Concur | Recoverable (deductible) VAT amount per VAT rate, compliance status, audit flags, and the final report Approve workflow action. |
End-to-End Data Flow
Outbound: VAT4U → Concur (Manual Write-Back)
Write-back is deliberately user-triggered. VAT4U does not push data to Concur automatically - your team (Technology only) or VAT4U team (Outsorcing) validates VAT figures before they are committed.
There are two write-back paths:
1. Single-Expense Write-Back (Data Entry)
Open the expense in Data Entry.
Review and correct extracted fields if needed.
Click Validate & Send to Concur.
2. Batch Write-Back (Manage Expenses)
Open Manage Expenses and filter to the desired Concur-sourced expenses.
Select one or more rows and click Push to Concur button from Batch actions.
Important: Data is pushed back only once per expense; after the initial pushback, it cannot be performed again.
Report-Level Approval
When data for every expense entry of a given Concur report has been pushed back (whether singly, in batch, or a combination), VAT4U automatically issues a final Approve workflow action against the report:
POST /expense/v4/reports/{reportId}/workflow-actions { "action": "Approve" }This advances the report past the External Validator step in Concur's workflow.
Important: VAT4U never rejects a Concur report. The report is always approved once all entries have been pushed back, regardless of the compliance status of any individual expense. Compliance issues are reported as audit flags on the entry.
Expense Processing Status - State Diagram
Source of Truth
Field | Owned by |
Vendor, amount, currency, dates | Concur |
Receipt image | Concur (cached in VAT4U for processing) |
Recoverable VAT amount, VAT rate breakdown, tax codes | VAT4U (written back to Concur) |
Compliance status and audit flags | VAT4U (written back to Concur) |
Note: After VAT4U writes back to Concur and the report is approved, any further changes made in Concur are ignored. VAT4U treats the pushed state as final for the lifecycle of that report.
Processing Timing
Phase | Trigger | Latency |
Inbound report ingestion | Concur webhook on entering External Validator | Seconds |
OCR + Smart AI processing | Internal job queue | Typically under 2 minutes per expense |
Outbound entry write-back | User action (Validate / Batch push) | Real-time per click |
Report approval | Automatic, after last entry is pushed | Real-time |
Error Handling and Processing Failures (applies to both v4 sections)
VAT4U distinguishes between transient failures (network errors, Concur 5xx, rate limits) and permanent failures (validation rejections, authorization errors, missing data).
Retry Policy
Failed inbound and outbound API calls are retried using exponential backoff (for example, 30s, 2min, 8min, 32min) up to the job's maximum retry count.
Once retries are exhausted, the report or expense is marked as Failed to process and surfaced in the Concur Dashboard → Processing step -> Errors tab.
Admins can trigger a manual retry from the dashboard.
Common Failure Scenarios
Scenario | What happens | What to do |
Concur webhook missed (network blip) | Report does not appear in VAT4U | Have the Concur admin re-run the workflow step. |
Unmapped Expense Type (category) | Expense ingested with status Ready for Review and flagged "Unmapped category" | Manually change category of expense and fix Concur integration → Categories Mapping, for future expenses. |
Write-back rejected by Concur (entry locked) - Bidirectional only | Expense stays in Ready for Review with a submit error | Verify that the report is still at the External Validator step in Concur. If it has been moved manually, the write-back path is closed. |
Rate limit (HTTP 429) | Automatic backoff and retry - no user action needed | None. |
Important: If a Concur report is recalled by the employee while VAT4U is still processing it, the External Validator step is exited. Any in-flight VAT4U expenses for that report are marked Failed to submit and cannot be pushed back (in Bidirectional mode).
Best Practices
Start with the Inbound level, then upgrade to Full Bidirectional once you are confident in the VAT recovery output.
Map every Expense Type (category) before you go live. Unmapped types delay user review and clutter the dashboard.
Validate from Data Entry for high-value expenses, batch-push for low-value. Single-expense validation gives you the most control; batch push maximizes throughput for routine spend.
Monitor the Concur Dashboard daily. Processing error counts, unmapped types, and pending-review backlogs are all surfaced there.
Keep the Concur admin in the loop for connector changes. Adding or removing the External Validator step requires a Concur admin; VAT4U cannot self-provision this.
FAQ
What is the difference between the two v4 integration types?
The Inbound level only receives data from Concur (events + reports + receipts) and processes it inside VAT4U.
The Full Bidirectional level adds outbound write-back: VAT amounts and compliance flags are pushed back to Concur, and reports are approved at the External Validator step.
The two levels share the same connection and configuration screen. Toggling Pushback data ON is what upgrades you from Inbound to Full Bidirectional.
Does VAT4U receive events on every status change of expense reports in Concur?
Yes - VAT4U receives events for every status change of expense report in Concur, but we only retrieve and process expense report when it enters External Validator step.
Can VAT4U reject a Concur expense report?
No. The integration writes VAT and compliance data back to Concur and then approves the report at the External Validator step. Rejecting reports is left to your Concur reviewers, who can act on the compliance audit flags VAT4U has written into each entry.
What happens if some expenses in a report fail compliance?
They remain in the report with their compliance audit flags attached. The report is still approved once all expenses are pushed back - your downstream Concur reviewers and finance team decide how to handle non-compliant items.
Can I edit an expense in Concur after VAT4U has pushed it back?
You can, but those changes will not flow back to VAT4U. Once VAT4U has pushed an entry, downstream Concur edits are ignored by the integration.
Is the write-back automatic or manual?
Manual by design. Each expense is pushed when a user validates it in Data Entry, or as part of a batch action in Manage Expenses.
The final report-level approval call to Concur is automatic - it fires when the last entry of a report has been pushed.
Where can I monitor the integration's health?
The Concur Dashboard in VAT4U (per-company integration page) surfaces KPIs, per-report processing status, the error logs, unmapped Expense category warnings, and connection status.
Can I switch between Inbound and Full Bidirectional at any time?
Yes - toggling Pushback data ON or OFF in the Bidirectional Integration configuration takes effect immediately for newly ingested reports. Reports already in progress are not retroactively pushed.
Does the integration support multiple Concur entities under one VAT4U account? Each VAT4U company connects to a single Concur company. If you operate multiple Concur entities, configure one VAT4U company per Concur company and authorize each connection separately.





