Sync Field Nation work order expenses to Autotask ticket Charges by configuring the Expense Sync Target and field mappings.
This guide covers Autotask-specific charge sync configuration. For general field mapping concepts and transformation types, see Field Mappings.
Configure your Autotask integration to sync Field Nation work order expenses directly to Autotask ticket Charges — giving you structured charge records on each ticket.
The Autotask connector supports two sync targets: set Expense Sync Target to charge to create Autotask Charges (covered in this guide), or to expense to create Autotask Expenses. By default, no sync target is set.
Looking to sync to Autotask Expenses instead? Set Expense Sync Target to
expense in the Additional Charges section. A dedicated guide covering Expense sync
field mappings is coming soon.
Switching from Expenses to Charges does not retroactively affect existing Autotask Expense records. Only expenses synced after the change will create Charge records. Existing Autotask Expenses remain untouched.
Charge sync only works when your Autotask integration object type is set to
ticket. If your object type is set to anything else, expenses will fail to
sync and errors will appear in the event history log.
Before proceeding, confirm:
ticket in your Autotask connector settingsIn your Autotask integration settings, navigate to the Settings page on the left sidebar.

In the Expense Sync Target field, enter charge.
| Value | Behavior |
|---|---|
| (blank) | Expenses are not synced |
expense | Expenses sync to Autotask Expenses on the ticket |
charge | Expenses sync to Autotask Charges on the ticket |
Navigate to the Additional Charges section of the left sidebar.

With charge set as the sync target (step 1), configure the following field mappings. Charge Name, Category Code ID, and Amount are required — without them, expenses will not sync.
| Mapping Field | Required | Maps To in Autotask |
|---|---|---|
| Charge: Charge Name | Yes | The display name of the charge on the Autotask ticket. |
| Charge: Category Code ID | Yes | The Material Code ID on the Autotask Charge object — typically set as a static value |
| Charge: Amount | Yes | The unit cost on the Autotask Charge object |
| Expense Item Description | No | An optional description on the Autotask Charge |
Finding your Category Code ID: This value is not visible in the standard Autotask UI. You can retrieve it from the Autotask API or your Autotask admin settings.

Create a test expense on a Field Nation work order, then verify the result in Autotask:

Once a charge is synced to Autotask, Field Nation continues to keep it current. Changes to an expense on Field Nation are reflected on the corresponding Autotask Charge automatically.
| Event on Field Nation | What happens in Autotask |
|---|---|
| Expense created | A new Charge is created on the Autotask ticket |
| Expense deleted | The Charge is updated — cost and price are set to 0.00, and the description is updated to indicate the expense was deleted on Field Nation |
| Expense disapproved | The Charge is updated — cost and price are set to 0.00, and the description is updated to indicate the expense was disapproved on Field Nation |
It is possible to map different types of expenses to different autotask Charge Categories dynamically based on the expense label. This can be done through a custom action on the outbound Charge: Category Code ID mapping.
// 1. Define a map of Expense label -> Autotask Category Code ID
local expenseMap = {
"Freight": 123456789,
"Trip Charge": 134235124,
"Taxes": 655365214,
};
// Also define a default category ID.
// Category labels not defined in the expenseMap will be put in this autotask charge category by default.
// if there is no default category and we can't find a label match in the expenseMap, the charge sync will fail.
local defaultCategoryId = 12345;
// 2. Extract the target label from the expense results payload
local targetLabel = $.input.pay.expense.results[0].label;
// 3. Use the category ID dynamically
if std.objectHas(expenseMap, targetLabel) then
expenseMap[targetLabel]
else
defaultCategoryIdYou can use any available field to map the custom action to Autotask's Category Code ID

Last updated on
Time Log Sync
Configure time log synchronization and Time Log ID storage for the Datto Autotask PSA connector, including the new Internal Notes storage option.
ConnectWise Connector
Integrate ConnectWise Manage with Field Nation for automated field service dispatch from service tickets and project tasks.