Project Financials + Xero™ Connector
- Last updated
- Apr 1, 2025
- Save as PDF
Procore's Accounting Integrations connect Procore with your ERP or Accounting system, uniting the office and field teams with one source of financial project data.
With the Project Financials integration for Xero™, you can:
- Exchange information between systems to provide your project team with access to data from a single source-of-truth.
- Reduce manual and duplicate data-entry to increase confidence that data is free from unnecessary errors.
- Improve decision-making with access to the most up-to-date data available.
- Streamline communication and information-sharing between your back-office and operational teams.
Requirements
- Company Administrator permissions to the Procore web application
- A compatible edition of Xero™ (see Xero™ Compatibility section below)
Supported Editions
The Xero™ Connector supports these editions of Xero™:
Country | Early | Growing | Established |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Country | Ignite | Grow | Comprehensive | Ultimate1 |
---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
1Xero™ Ultimate offers the following enhancements: ULTIMATE, ULTIMATE_10, ULTIMATE_20, ULTIMATE_50, ULTIMATE_100.

Popular Tutorials (view all)
Top FAQ (view all)
Quick Links
- View this integration on Procore's App Marketplace
Availability of ERP connectors is dependent on several factors, including the country or region in which your business operates. To learn whether or not an integration is available in your area, contact your Procore point of contact.
There are no items that match your search query.
- Accept or Reject Cost Codes for Export to ERP
- Accept or Reject Subcontractor Invoices for Export to ERP
- Accept or Reject a CCO for Export to ERP
- Accept or Reject a Commitment for Export to ERP
- Accept or Reject a Company for Export to ERP
- Accept or Reject a Project for Export to ERP
- Add Columns to a Budget View for ERP Job Cost Transaction Detail
- Add ERP Standard Cost Codes to a Project
- Add ERP Standard Cost Codes to the Company Level Admin Tool
- Add an ERP Company to the Procore Company Directory
- Add an ERP Job to Procore
- Add the 'ERP Direct Costs' Column to a Procore Budget View for ERP Integrations
- Archive an ERP Company in Procore
- Archive and Unarchive Cost Codes Synced With an ERP Integration
- Configure Advanced Settings: ERP Integrations
- Configure Cost Code Preferences for ERP
- Consolidate Duplicate Companies in the Company Directory
- Consolidate and Link ERP Companies to Procore Companies
- Create Standard Cost Codes in Procore and Sync to your ERP System
- Delete Project Cost Codes from an ERP Integrated Project
- Delete a CCO Synced with ERP
- Delete a Commitment Synced with ERP
- Edit Synced Direct Cost Transactions
- Edit a Commitment Synced with ERP
- Enable ERP Job Cost Transaction Syncing on a Procore Project
- Enable or Disable ERP Direct Exports
- Export Subcontractor Invoices from Procore to ERP
- Export a Commitment Change Order (CCO) to ERP
- Export a Commitment to ERP
- Export a Procore Company Record to ERP
- Grant Accounting Approver Privileges
- Link ERP Companies to Procore Companies
- Link ERP Projects to Existing Procore Projects
- Refresh the Cost Codes on an ERP Integrated Project
- Remove Duplicate Companies from the Company Directory
- Resend a Rejected CCO to ERP Integrations for Accounting Acceptance
- Resend a Rejected Commitment to ERP Integrations for Accounting Acceptance
- Resend a Rejected Company to ERP Integrations for Accounting Acceptance
- Resend a Rejected Project to ERP for Accounting Acceptance
- Resend a Rejected Subcontractor Invoice to ERP Integrations for Accounting Acceptance
- Restore an Archived ERP Company for ERP Integrations
- Retrieve a CCO from ERP Integrations Before Acceptance
- Retrieve a Commitment from ERP Integrations Before Acceptance
- Retrieve a Company from ERP Integrations Before Acceptance
- Retrieve a Project from ERP Before Accounting Acceptance
- Retrieve a Subcontractor Invoice from ERP Integrations Before Acceptance
- Send Subcontractor Invoices to ERP Integrations for Accounting Acceptance
- Send Unsynced ERP Standard Cost Codes to ERP Integrations for Accounting Acceptance
- Send a CCO to ERP for Accounting Acceptance
- Send a Commitment to ERP Integrations for Accounting Acceptance
- Send a Procore Company to ERP Integrations for Accounting Acceptance
- Send a Procore Company to ERP Integrations for Accounting Acceptance
- Send a Procore Project to ERP for Accounting Acceptance
- Sync Job Cost Transactions from an Integrated ERP into Procore
- Sync Paid Invoice Notifications from ERP into Procore
- Unlink CCOs Synced with ERP
- Unlink Commitments Synced with ERP
- Unlink Subcontractor Invoices Synced with ERP
- Unlink a Company Synced with ERP
- View an Accountant Report for ERP
- View an ERP Job Costs Report
- View an ERP Unsyncable Direct Costs Report
- View the Archived Companies List for ERP
- What is the maximum character length for a commitment's 'Number (#)'?
- What is the accounting approver role?
- What is the maximum character length for a commitment's 'Title'?
- Why can't I create or activate Procore projects?
- What happens if I have duplicate company records in Procore's Company Directory?
- Can I customize the numbering system for financial objects in Procore?
- What are 'cost types' and how does our ERP integration support them?
- What is the maximum character length for a 'Company Name' in the Directory tool?
- Are accounting approvers notified when data is awaiting acceptance in the ERP Integrations tool?
- How can I tell if a Procore project is synced with an integrated ERP system?
- What do the ERP icons mean?
- Are pending commitments automatically synced with integrated ERP systems?
- Can I change the selected vendor type after a company has been synced?
- Why is my Procore project missing from the ERP Integrations tool?
- What do I do when a commitment fails to export from the ERP Integrations tool?
- Who receives a notification when an item is rejected from ERP?
Learn which user permissions are required to take the described actions in this tool.
Important
Some actions that impact this tool are done in other Procore tools. See the User Permissions Matrix for the full list of actions taken in all other tools.
| | The action is available on Procore's Web, iOS, and/or Android application. Click to view the tutorial.
Users can take the action with this permission level.
Users can take this action with this permission level AND one or more additional requirements, like granular permissions.
Important
Several available actions in the ERP Integrations tool also require Accounting Approver permissions. An Accounting Approver is a user with either 'Standard' or 'Admin' level permissions to the ERP Integrations tool who has been granted the 'Can Push to Accounting' privilege.
Not all ERP connectors support every action described below. To learn more about your connector's supported functions, see Things to Know About your ERP Integration.
Action | None | Read Only | Standard | Admin | Notes |
---|---|---|---|---|---|
Accept or Reject Cost Codes for Export to ERP |
|
||||
Accept or Reject Owner Invoices for Export to ERP |
|
||||
Accept or Reject Subcontractor Invoices for Export to ERP |
|
||||
Accept or Reject a Budget for Export to ERP |
|
||||
Accept or Reject a CCO for Export to ERP |
|
||||
Accept or Reject a Commitment for Export to ERP |
|
||||
Accept or Reject a Company for Export to ERP |
|
||||
Accept or Reject a PCCO for Export to ERP |
|
||||
Accept or Reject a Project for Export to ERP |
|
||||
Accept or Reject a Sub Job for Export to ERP |
|
||||
Add a Procore Project to your ERP System |
![]() |
![]() |
|||
Add an ERP Company to the Procore Company Directory |
![]() |
![]() |
|||
Add an ERP Job to Procore |
![]() |
||||
Archive an ERP Company in Procore |
![]() |
![]() |
|||
Assign Default Cost Types To ERP Standard Cost Codes |
![]() |
![]() |
|||
Configure Advanced Settings: ERP Integrations |
![]() |
||||
Configure the Sync Schedule for your ERP Integration |
![]() |
||||
Enable or Disable ERP Direct Exports |
![]() |
||||
Import a Budget from ERP |
![]() |
![]() |
|||
Import a Prime Contract from an Integrated ERP System into Procore |
![]() |
![]() |
|||
Import an ERP Sub Job to a Procore Project |
![]() |
![]() |
|||
Link ERP Companies to Procore Companies |
![]() |
||||
Refresh the Companies List for ERP |
![]() |
||||
Refresh the Cost Codes on an ERP Integrated Project |
![]() |
||||
Send, Retrieve, or Resend Items to ERP Integrations for Accounting Acceptance |
|
||||
Sync Job Cost Transactions from an Integrated ERP into Procore |
![]() |
||||
Sync Paid Invoice Notifications from ERP into Procore |
![]() |
||||
Unlink CCOs Synced with ERP |
![]() |
![]() |
|||
Unlink Commitments Synced with ERP |
![]() |
![]() |
|||
Unlink Owner Invoices Synced with ERP |
![]() |
![]() |
|||
Unlink PCCOs Synced with ERP |
![]() |
![]() |
|||
Unlink Subcontractor Invoices Synced with ERP |
![]() |
![]() |
|||
Unlink a Company Synced with ERP |
![]() |
![]() |
|||
View a List of Synced Sub Jobs |
|
|
Also requires 'Admin' level permissions to the Company level Directory tool, or 'Standard' level permissions with the 'Create New Project' granular permission. |
||
View an Accountant Report for ERP |
![]() |
||||
View an ERP Job Costs Report |
|
'Admin' level permissions to the ERP Integrations tool allows users to view this report at the Company level. To view at the Project level, users also require:
|
|||
View an ERP Unsyncable Direct Costs Report |
Users do NOT require permissions to the ERP Integrations tool to view this report. They do require:
|
||||
View the Archived Companies List for ERP |
|
|
Below are the notable changes to the Procore + Xero™ integration.
Recent Changes
No recent notable changes.
Background
Each of Procore's available ERP connectors perform the basic function of syncing data between the ERP system and Procore, usually in the same way as other connectors. However, each connector has a unique set of items it can sync, and the way those items are synced will vary based on how that ERP system and its corresponding integration are built to function.
Xero™, like all ERP integrations, has some key considerations, limitations, and things to know about how each Procore object is synced. Those considerations, limitations, and things to know are outlined in the table below according to tool or item being synced.
Things to know about the Xero™ Connector
Procore Item or Setting |
Considerations, Limitations, and Requirements |
configuration settings & sync schedule |
|
work breakdown structure (wbs) |
|
projects |
|
companies |
|
commitments |
|
commitment change orders (cco) |
|
subcontractor invoices |
|
COMMITMENT PAYMENTS ISSUED |
|
JOB costs |
|
Overview
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
PROJECT WBS CODES 1 COST CODES & COST TYPES |
![]() |
PRODUCTS AND SERVICES | |
PROJECTS | ![]() |
![]() |
TRACKING CATEGORY OPTION |
COMPANIES | ![]() |
![]() |
CONTACTS |
SUBCONTRACTS & PURCHASE ORDERS |
![]() |
PURCHASE ORDERS PURCHASE ORDERS |
|
COSTS | ![]() |
COSTS | |
SUBCONTRACTOR INVOICES 2 FOR SUBCONTRACTS & PURCHASE ORDERS |
![]() |
BILLS | |
COMMITMENT PAYMENTS ISSUED 3 FOR SYNCED SUBCONTRACTOR INVOICES |
![]() |
BILL PAYMENTS |
1Custom WBS segments are not supported at this time.
2Subcontractor invoices with negative values do not export.
3Bill Payments will not reflect tax when pulled into Procore.
Cost Codes
When a Cost Code is exported from Procore to Xero™, Items records are automatically created in Xero™. In Procore, the Cost Codes can be found in the Work Breakdown Structure (WBS) section in the Admin Tool under Xero™ Standard Cost Codes. Custom WBS segments are not supported by the integration at this time.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
Cost Code + Cost Type | ![]() |
Item Code | |
Description | ![]() |
Name |
Export Note: After export, an expense account and an income account are assigned in the Xero™ Item record. The Procore cost code records do not include these fields.
Projects/Jobs
When a Project is exported from Procore to Xero™, the tracking category option is automatically created in Xero™.
Job information in Xero™ can be found in the Tracking Categories list designated during implementation.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
Project Name | ![]() |
![]() |
Tracking Category Option |
Vendors
When a Company is exported from Procore to Xero™, a new Contacts record is automatically created in Xero™. In Xero™, the Contacts setup can be found under Contacts. Procore Companies can be found in the Directory.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
Name | ![]() |
![]() |
Contact Name |
Address City State ZIP |
![]() |
![]() |
Billing Address |
Business Phone | ![]() |
![]() |
Phone Number |
Business Fax | ![]() |
![]() |
Fax Number |
Commitments (Optional)
Commitments export from Procore only. When a Commitment (Subcontract or Purchase Order) is exported from Procore, a Purchase Order is automatically created in Xero™. In Xero™, Purchase Orders are accessed from the Business Tab. In Procore, Commitments are accessed from the project-level Commitments tool.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
System Date at Time of Commitment Creation | ![]() |
Date | |
Commitment # | ![]() |
Order Number | |
Contract Company | ![]() |
Contact | |
Title (General tab) | ![]() |
Reference | |
Cost Code + Cost Type (Schedule of Values tab) | ![]() |
Item | |
Description (Schedule of Values tab) | ![]() |
Description | |
Qty (Schedule of Values tab) | ![]() |
Quantity | |
Unit Cost (Schedule of Values tab) | ![]() |
Unit Price | |
Project Name | ![]() |
(Tracking Category Option) | |
Ship Via | ![]() |
Delivery Instructions |
Commitment Change Orders
Commitment Change Orders export from Procore only. When Commitment Change Orders are exported from Procore, new line items are created and added to the corresponding Purchase Order in Xero™, below pre-existing line items. In Xero™, Purchase Orders are accessed from the Business Tab. In Procore, Commitment Change Orders are accessed from the project-level Commitments tool under Commitment Record. In Xero™, the change(s) will appear as additional line items on the Purchase Order originally created when the Commitment was exported from Procore to Xero™.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
Commitment # | ![]() |
Order Number | |
Contract Company | ![]() |
Contact | |
Cost Code (Schedule of Values tab) | ![]() |
Item | |
Description (Schedule of Values tab) | ![]() |
Description | |
Qty (Schedule of Values tab) | ![]() |
Quantity | |
Unit Cost (Schedule of Values tab) | ![]() |
Unit Price | |
Project Name | ![]() |
(Tracking Category Option) |
Job Costs
Job costs import from Xero™ only. Cost information is retrieved from Xero™ reports for each synced Cost Code for use in 2 locations in Procore, the Xero™ Job Costs report and the Budget tool.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
Job to Date Cost (Xero™ Job Costs) |
![]() |
Total from Bills and Spend Money Transactions | |
Commitment Invoiced (Xero™ Job Costs) |
![]() |
Total from Bills/Subcontractor Invoices Exported from Procore | |
Job to Date Cost (Budget) |
![]() |
Total from Bills and Spend Money Transactions | |
Direct Costs (Budget) |
![]() |
Total from Bills and Spend Money Transactions Minus Commitments Invoiced Costs | |
Commitment Invoiced (Budget) |
![]() |
Total from Bills/Subcontractor Invoices Exported from Procore |
Job Cost Transaction Details
Import from Xero™ only. This provides transaction detail for the costs displayed in Procore, and if the budget view is configured properly, the values of those transactions can be viewed in the Direct Costs or JTD Cost columns for a budget line item.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
Direct Cost Type | ![]() |
Cost Type | |
Invoice | ![]() |
Bill | |
Subcontractor Invoice | ![]() |
Bill | |
Expense | ![]() |
Spend Money | |
Direct Cost | |||
Date | ![]() |
Date | |
Status | ![]() |
Automatically set to Approved | |
Description1 (Header) |
![]() |
Reference | |
Vendor | ![]() |
From (Bill) / To (Spend Money) | |
Invoice #2 | ![]() |
Reference | |
Received Date3 | ![]() |
Amount | |
Amount | ![]() |
Amount | |
Budget Code (Line Item) | ![]() |
Item | |
Description (Line Item) | ![]() |
Description | |
Qty., Unit Cost, Amount (Line Item) | ![]() |
Qty., Unit Price, Amount |
1 Description is populated when the reference field is filled out on a Spend Money transaction or a Bill that was first synced from Procore. This does not apply for Bill transaction types first entered in Xero™.
2 Invoice # is populated when the reference field is filled out on a Bill transaction. This does not apply for Spend Money transactions. Invoice # is a required field for Invoice direct cost types in Procore.
3 Received Date is populated from a Spend Money or Bill transaction type first entered in Xero™ only.
Subcontractor Invoices
When a subcontractor invoice is exported from Procore to Xero™, a Bill is automatically created in Xero™. In Procore, Subcontractor Invoices are accessed from Invoices in the project Commitments tool. In Xero™, Bills to Pay are accessed from the Business tab.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
Contractor Company | ![]() |
From (contact) | |
Billing Date | ![]() |
Date | |
Payment Date | ![]() |
Due Date | |
Purchase Order Number/Invoice Number1 | ![]() |
Reference | |
Budget Code (Schedule of Values) | ![]() |
Item Code | |
QTY (Schedule of Values) | ![]() |
Quantity | |
Unit Price (Schedule of Values) | ![]() |
Unit Price | |
Scheduled Value (Schedule of Values) | ![]() |
Amount | |
Project Name | ![]() |
(Tracking Category Option) | |
Total Retainage This Period, if applicable2 | ![]() |
(on separate line item for retainage) |
1 If Commitment syncing is NOT enabled, the invoice Number will map to the Reference field in Xero™. If if Commitment syncing IS enabled, the PO Number will map to the Reference field in Xero™.
2 If used in Procore, retainage is coded to an Item record in Xero™ that is determined in the integration settings. Retainage is not coded to a synced cost code Item.
Commitment Payments Issued
Commitment Payments Issued imported from Xero™ only. When a subcontractor invoice is exported from Procore to Xero™, a Bill is automatically created in Xero™. When the Bill is paid, the payment information will flow back to Procore. In Procore, Subcontractor Invoices Payments are accessed from Payments Issued in the project Commitments tool. In Xero™, paid bills are accessed from the Business tab under the Paid tab in Bills to Pay.
PROCORE |
Exports data from Procore to Xero™ | Imports data from Xero™ to Procore | Xero™ |
---|---|---|---|
Invoice |
![]() |
n/a | |
Payment Number | ![]() |
n/a | |
Payment Method | ![]() |
n/a | |
Amount | ![]() |
Amount Paid | |
Date | ![]() |
Date Paid | |
Invoice # | ![]() |
(Subcontractor Invoice number) | |
Check Number | ![]() |
n/a | |
Notes | ![]() |
Reference (Make a Payment Field) |