Overview
Ramp Expense Management brings corporate card spend from Ramp into ServiceTitan. Administrators, accountants, and bookkeepers review these expenses in Accounts Payable, then post and export them. Card spend reaches your general ledger with job costing applied, without manual entry at close.
Who uses this feature
Administrators, accountants, bookkeepers, and managers
Applies to all business types
Applies to all trades
Feature configuration
This feature is currently in Early Access and available for specific accounts. It is subject to change. To ask about access for your account, contact your ServiceTitan representative.
Account configuration is required to use this feature. Please contact Technical Support for details.
The View expense transactions and Edit expense transactions permissions are required to use this feature. You can find them under Settings > Role Permissions > Accounting > Expense Management. Please contact the account administrator on your team.
Things to know
You need a Ramp account and the Ramp integration to use this feature. Ramp onboarding includes an application, approval, and account setup.
Only transactions marked in Ramp as belonging to a job or project import into ServiceTitan. All other spend stays in Ramp.
Only expenses paid with a Ramp card import automatically. You can add other expenses manually, but they do not sync back to Ramp.
You can edit an expense while its export status is Pending. Once the expense posts or exports, it locks in both ServiceTitan and Ramp. Make any later changes in your accounting software.
Split transactions in Ramp do not appear as split in ServiceTitan, and custom fields on Ramp transactions do not export.
Category comes from Ramp's merchant classification at the time of the purchase. It is read only in ServiceTitan and does not change when you update the vendor or general ledger account.
Receipts cannot be removed from an expense in ServiceTitan. A receipt deleted in Ramp still appears on the ServiceTitan expense, and a receipt you upload in ServiceTitan cannot be removed later.
This feature is available in the United States only.
Best practices
If you use accounts in Ramp that do not exist in ServiceTitan, add them before your first import. Mismatches land in Needs Review.
Map your Credit Card Payables account during setup so imported expenses have somewhere to post.
Check the Needs Review tab regularly. A flagged expense cannot export until it is resolved, though other expenses in the batch are not held up.
Choose a batch cadence that matches how often you close your books.
Add your expense vendors to your purchasing vendor list so imported expenses match automatically.
Attach a receipt to every expense you add manually, even though it is not required. Receipts support your job costing records and cannot be added or replaced once the expense posts.
Use cases
A technician buys parts at a supply house with a Ramp card, then confirms the job and uploads the receipt using text message or the Ramp mobile app.
A bookkeeper opens the Needs Review tab each morning and assigns general ledger accounts to expenses that did not match.
An accountant reviews card spend on a project in Project Financials before invoicing the customer.
An office manager manually records a permit purchased with a non-Ramp card to ensure accurate job costing.
Get started with Ramp Expense Management
Complete these steps in order before your first expenses import.
Step 1: Onboard to Ramp and enable the integration
Before you can use expenses in ServiceTitan, you must:
Complete a Ramp application, be approved, and create a Ramp account
Set up the integration that connects Ramp and ServiceTitan
Your ServiceTitan contact walks you through the integration setup during your onboarding call.
Step 2: Add or update general ledger accounts for expenses (if needed)
Ramp and ServiceTitan both map expenses to accounts in your accounting system. In most cases your accounts already match, so you can skip this step. Complete it only if you know an account you use in Ramp does not exist in ServiceTitan. Accounts that do not match are flagged in Needs Review after import, so you can also return to this step later.
To add a general ledger account:
Go to the top toolbar and click Settings.
In the side panel, go to Accounting > General Ledger Accounts.
Click Add GL Account.
Set Type to Expense.
Choose the subtype that fits the category: Expense, Other expense, or Cost of Goods Sold.
When finished, click Save.

To update an existing general ledger account:
On the General Ledger Accounts screen, click Actions > Edit next to the account you want to change.
Make your changes, then click Save.
Once configured, the account is available for mapping to Ramp transactions that use the same general ledger account.
Step 3: Map your Credit Card Payables account
ServiceTitan assigns every expense, whether imported from Ramp or added manually, to your Credit Card Payables account.
Note: You can map only one Credit Card Payables account. It should match the liability account set up in Ramp.

When the integration is enabled, ServiceTitan creates a default account, 2700 Credit Card Payable. You can keep this account or map to a different one.
Go to the top toolbar and click Settings.
In the side panel, go to Accounting > Accounts Payable Settings > General Ledger Account Mapping.

Click Setup GL Account Mapping.
Select the general ledger account to map credit card payables to.
Select the Uncategorized Expense account. ServiceTitan uses this account as a fallback when an expense arrives with a general ledger account it cannot match to one in ServiceTitan. To change it later, see Step 4: Change the Uncategorized Expense account.
When finished, click Save and Confirm.
Step 4: Change the Uncategorized Expense account (optional)
When an expense imports from Ramp, ServiceTitan checks its general ledger account against your existing accounts. If the account matches, the expense is categorized normally. If it does not match, ServiceTitan assigns the expense to a default account, 6100 Uncategorized Expense.
Note: Expenses in the Uncategorized Expense account must be assigned a general ledger account before they can export.
To use a different account for uncategorized expenses:
Go to the top toolbar and click Settings.
In the side panel, go to Accounting > Accounts Payable Settings > General Ledger Account Mapping.
Click Setup GL Account Mapping.
In Uncategorized Expense, select the general ledger account you want to use.
When finished, click Save and Confirm.

Step 5: Update your accounting integration settings
Each accounting integration needs a credit card account for your expenses to post against, and each one creates a different type of transaction when an expense exports.
QuickBooks Online
Expenses export to QuickBooks Online as a credit card charge.
In your QuickBooks Online sync settings, select the credit card account that expenses post against. In QuickBooks Online, this account must be account type Liability > Credit Card.
The general ledger accounts on your ServiceTitan transactions must match the accounts in QuickBooks Online exactly, or your exports return errors. To add or update accounts, see Step 2: Add or update general ledger accounts for expenses.
QuickBooks Desktop
Expenses export to QuickBooks Desktop as a credit card charge.
In your QuickBooks Desktop sync settings, select the credit card account that expenses post against. In QuickBooks Desktop, this account must be account type Credit Card.
Xero
Expenses export to Xero as a spend transaction against your Ramp card account.
Note: Xero does not support credit card account types. Your Ramp card is set up as a bank account in Xero, so card expenses appear in your bank reconciliation rather than under credit cards.
Your Ramp card account and every general ledger account used on an expense must have an account code in Xero. Exports fail when an account code is missing.
Sage Intacct
Expenses export to Sage Intacct as a charge card transaction. Exported expenses appear in Sage Intacct under Applications > Cash Management > Credit card > Credit card transactions.
Map the destination account in ServiceTitan to the matching account in Sage Intacct.
Go to the top toolbar and click Settings.
In the side panel, go to Integrations > Intacct > Integration Settings.

Select the account in Sage Intacct to map expenses to.
When finished, click Save.
Note: The offset account for card spend is set on the charge card record in Sage Intacct, not in ServiceTitan.
How expenses import into ServiceTitan
The integration routes job and project costs into ServiceTitan and keeps everything else in Ramp.
A transaction imports into ServiceTitan once all of the following are true in Ramp:
The transaction is marked as belonging to a job or project
A job or project number is provided
All required fields, receipts, and supporting documents are complete, based on your Ramp configuration
Any required approval workflows are complete
The transaction is marked as Ready to Sync, either manually or through an automated workflow
If any of these are incomplete, the transaction does not import until they are finished.
View and edit expenses
Ramp transactions land on the Expenses screen, where you review them, resolve anything flagged for attention, and edit them before export.
Each transaction carries two separate statuses. Status shows whether the expense is Needs Review or Complete. Export Status shows how far the expense has moved toward your accounting software: Pending, Posted, or Exported. Export status determines whether you can still edit or delete the expense.
View your expenses
Go to the navigation bar and click Accounting.
Under Accounts Payable, click Expenses.
Click a tab to filter the list. Needs Review shows expenses with an issue to resolve, Complete shows expenses that are ready, and All shows every transaction. Each tab displays a count.
Note: The navigation item is Expenses, and the screen heading reads Transactions.

Filter and find transactions
Use the search box and filters above the transaction list to narrow what you see.
Search: Find a transaction by vendor, cardholder, job number, project number, or PO number.
Date: Limit the list to a date range.
Vendor: Show transactions for one or more vendors.
Cardholder: Show transactions for one or more cardholders.
Receipt: Show transactions that need a receipt, or transactions that already have one.
Status: Show Needs Review or Complete transactions. This filter appears on the All tab only, because the other tabs are already filtered by status.
Review expenses that need attention
ServiceTitan flags a transaction for review when any of the following is true:
The general ledger account does not match an account in ServiceTitan
Neither a job nor a project is assigned
The vendor does not match a vendor in ServiceTitan
No business unit is assigned
Expenses in Needs Review must be updated before they can export. To view expenses with Needs Review status, click Needs Review tab on the Expenses screen.
Tip: The Status column names the reason underneath the Needs Review label, for example Vendor not found or Multiple issues. Click the reason to open the transaction and see what needs attention.
To resolve a general ledger account mismatch:
Click the transaction with the unmatched account.
Click the GL account field and select an account.
Note: If the account does not exist yet, add it first. See Step 2: Add or update general ledger accounts for expenses.
To resolve a missing business unit:
Click the transaction with the missing business unit.
Click the Business Unit field and select a business unit.
To assign a job or project:
Click the transaction without a job or project.
Click the Job or Project field and select a record.
Note: If the job or project does not exist yet, create it first. If the transaction was flagged as job related in error, see Remove a transaction that is not a ServiceTitan expense.
To resolve an unmatched vendor:
Click the transaction with the unmatched vendor.
Click the Vendor field, then select an existing vendor or create a new one from the dropdown.
View transaction details
On the Expenses screen, click a transaction.
Review the header details and the line items included in the purchase.
Note: If a receipt is not required for a transaction in Ramp, itemized purchase details are not available on import. ServiceTitan adds a single line item instead, described as No item description provided, covering the full transaction amount. The expense still posts to its mapped general ledger account and still appears in job and project costing. To record the detail, add line items while the export status is Pending. Once the expense posts or exports, the line items are locked.

.png?sv=2026-02-06&spr=https&st=2026-09-12T22%3A53%3A06Z&se=2026-09-12T23%3A18%3A06Z&sr=c&sp=r&sig=aJN6roQ0PkDNm2yrVVV7JtTrhe2pzR2HdarjWpe3KI8%3D)
Add a transaction manually
Add an expense that was not paid with a Ramp card. Manual transactions do not sync back to Ramp.
On the Expenses screen, click Add Transaction.
Enter the required details:
Date
Employee (cardholder)
Vendor
Business unit
Item description
Item quantity
Item unit cost
Upload the receipt. This is optional.
Tip: Attach a receipt even though it is not required. It supports your job costing records, and you cannot add or replace a receipt once the expense posts.
Note: Uploading a receipt to a manual expense does not scan the image or fill in line items automatically.
Click Save, or click Save and Create New to add another expense.

Add a refund manually
Add a refund that is not connected to a Ramp transaction. Manual refunds do not sync back to Ramp.
On the Expenses screen, click Add Transaction.
Enter the same details as a manual transaction, but enter the Item unit cost as a negative value.
Upload the receipt. This is optional.
Click Save, or click Save and Create New to add another refund.
Note: A refund appears in the transaction list with a negative total and a Refund label in the Status column.
Edit a transaction
You can update an expense in either Ramp or ServiceTitan while its export status is Pending.
Note: Once the export status is Posted or Exported, the transaction locks in both systems and your changes are rejected with an error. Make any further changes in your accounting software.
On a transaction imported from Ramp, you can edit:
GL account
Job or project number
Business unit
Cardholder
Memo
Receipt
To edit a transaction:
On the transaction details screen, click Actions > Edit.
Make your changes.
When finished, click Save.
Remove a transaction that is not a ServiceTitan expense
If a transaction imports in error, for example when a job is selected in Ramp but the purchase is not job related, remove it from ServiceTitan. The transaction is removed from ServiceTitan but remains visible in Ramp for correction.
Note: This option is not available after the expense has exported.
On the transaction details screen, click Actions > Mark as not a ServiceTitan expense.
Click Confirm.
Note: To bring the transaction back into ServiceTitan later, set the Is this a ServiceTitan expense field in Ramp back to Yes.
Delete a transaction
On the transaction details screen, click Actions > Delete.
In the confirmation window, click Delete.
Note: You can delete a manually created expense until you add it to a batch. Expenses imported from Ramp cannot be deleted.
View expenses in job and project costing
Imported expenses roll into the related job or project, where you can review them alongside your other costs in Job Costing and Project Financials.
View expenses in the Job Costing flyout
Go to the job's invoice.
In the side menu, click Job Costing.

Find your expenses in the Purchase Order (or Bill) section, or in the Actual Costs section if Committed Costs is enabled.

View expenses in Project Financials
Go to the project.
In the side menu, click Financials.
Click View Project Financials.

Find your expenses in the Purchase Order (or Bill) section, or in the Actual Costs section if Committed Costs is enabled.

Manage expense vendors
Expense vendors come from the purchasing vendors set up in your account. An expense that imports without a matching vendor is flagged in Needs Review until you add or map one.
View your purchasing vendors
Go to the top toolbar and click Settings.
In the side panel, go to Purchasing (or Inventory) > Vendors.

Add a vendor
On the Vendors screen, click Add Vendor.
Enter the vendor name and address.
Add any optional details.
When finished, click Save.
Edit a vendor
On the Vendors screen, click a vendor.
Click Edit.
Make your changes, then click Save.
Batch and export expenses
An expense cannot export until every required field is filled in and the transaction is no longer flagged in Needs Review.
Expenses reach your accounting software in one of two ways, depending on how your account is set up. Your ServiceTitan contact configures this during onboarding.
As documents. Expenses are grouped into batches, then posted and exported as the card transaction native to your accounting software. Follow the steps in this section.
As journal entries. Expenses post as journal entries and are not batched. Add to Batch does not appear on expense records, and the rest of this section does not apply.
Refunds appear in ServiceTitan as transactions with a negative total. They export to QuickBooks Online, QuickBooks Desktop, and Xero as a credit transaction. Refund export to Sage Intacct is not yet available. Until it is, record those refunds in Sage Intacct for reconciliation.
For general instructions on batching and posting, see Batch, post, and export transactions.
Add an expense to a batch
On the Expenses screen, click an expense to open its details.
Click Add to Batch.
Select a batch.
Turn on auto-batching for expenses
By default, expenses are added to a batch automatically once a day. Change the cadence, or switch to manual batching, on the Journal Entries and Auto-Batching settings screen. For more, see Guide to auto-batching.
Go to the top toolbar and click Settings.
In the side panel, click Journal Entries and Auto-Batching.
Click the pencil icon in line with Credit Card Expenses.

Select how often expenses should be added to batches:
Per Transaction: Creates a new batch for each expense.
Daily: Creates one batch per day and adds all eligible expenses created that day.
Weekly: Creates one batch per week and adds all eligible expenses created that week.
Monthly: Creates one batch per month and adds all eligible expenses created that month.
Manual: Requires you to add expenses to a batch before export.
When finished, click Save.
Troubleshoot export errors
For common export errors, see Intacct integration error messages.
FAQs
Is there an additional cost to enable this integration?
No. There is no additional cost to enable or use the integration. Any fees are determined solely by the Ramp subscription plan you choose.
How much does Ramp cost?
Ramp has free and paid plans depending on your business needs. You can find more information here.
How should I get in touch with Ramp if I want to participate?
Contact Ryan Bolles, the dedicated Ramp sales representative for this integration, to learn more about getting started with Ramp.
What if I’m already using Ramp?
Contact Sarah Dethloff for more information on how to proceed.
How are expenses incorporated into job and project costing?
Expenses are automatically linked to the job or project selected in Ramp and appear in job or project costing immediately after import. Users in ServiceTitan can update or remove that association if needed.
What if we require post-transaction approvals for certain card expenses?
Any required approvals will be handled in Ramp before the transaction can be exported to ServiceTitan.
Can I use a personal or non-Ramp card with this integration?
No. Only expenses made using a Ramp card are automatically imported through the integration.
However, expenses incurred outside of Ramp can still be entered manually in ServiceTitan. These manually entered expenses will not include the receipt image captured and synced through Ramp and will need to be managed separately.
Why can't I edit this expense?
Check the Export Status column on the transaction list. You can only edit an expense while its export status is Pending. Once it is Posted or Exported, the expense is locked and your changes are rejected with an error. Make any further changes in your accounting software.