---
title: Understand Imports
url: https://docs.maxio.com/configuration/importing/understand-imports
applies_to: Maxio Core
updated: 2026-10-23
---

# Understand Imports

Maxio's import tool allows you to make large-scale changes to the data in your system. This can save you a significant amount of time by avoiding manual data entry. The available imports allow you to create, update, or delete multiple items at the same time, as well as a number of other helpful tasks.

> **WARNING:** An import can make extensive permanent changes to your financial data. It requires a working knowledge of the application and the records it holds, so be certain of a mapping before you run it. Contact [support@maxio.com](mailto:support@maxio.com) if you have any questions.

## Importing basics

The items below cover several essential aspects of the import that you should familiarize yourself with before proceeding.

- The import function must be activated in your account by Maxio staff. Contact support if you do not see the **Import** options in the **Admin** window.
- Once enabled, the import function is available for all admin users. We recommended you audit your user list to ensure your users have the appropriate level of permissions. Roles are further explained in <a href="https://docs.maxio.com/configuration/maxio-core/account-user-settings/understand-user-roles-and-access-controls" target="_blank" rel="noopener noreferrer">Understand User Roles and Access Controls</a>.
- An import can partially succeed. Rows that pass validation are imported, and rows that fail are reported with their line numbers. Download the error file, correct those rows, and re-import only that file. Re-importing the whole file can fail or duplicate work, because the records that already imported still exist.
- There is no way to undo an import, so you should always perform a backup before running an import. Also, you cannot stop an import once it starts.
- Import files must use the CSV UTF-8 encoding. The XLS/XLSX format does not work, and neither does CSV with UTF-16 encoding. A byte order mark on a UTF-8 file is fine, since the importer strips it when it reads the file.
- Most CSV files require some level of clean-up, which is explained further in <a href="https://docs.maxio.com/configuration/importing/format-a-csv-file-for-import" target="_blank" rel="noopener noreferrer">Format a CSV File for Import</a>.
- You can store CSV import files in your account and manage them from the **Upload CSV Files** page in the Admin menu. See <a href="https://docs.maxio.com/configuration/importing/upload-and-manage-csv-files" target="_blank" rel="noopener noreferrer">Upload and Manage CSV Files for Import</a>.
- You should use a sandbox environment to familiarize yourself with the importer before executing imports in production.

### Import types

Maxio provides the following types of standard imports:

- **Create**: Add new records.
- **Update**: Make changes to existing records.
- **Delete**: Remove existing records. Contact support if you'd like to perform a Delete import, as it must first be activated in your account.
- **Create and/or Update**: Add new records and make changes to existing ones in the same file. Like Delete, this action must first be activated in your account, so contact support if you do not see it.

The system also contains the following additional imports:

- Renumber
- Rename
- Item Groups
- Transaction Renewal Linkages
- Import Payment Profiles
- Generate Entries - System
- Import Entries - Custom
- Generate Invoice Schedules
- Complete Project Milestones

You can access these imports by clicking the **Additional Imports** option.

Complete Project Milestones is available when Projects is enabled. See <a href="https://docs.maxio.com/billing/projects/manage-project-details-and-milestones#complete-milestones-in-bulk-from-a-file" target="_blank" rel="noopener noreferrer">Complete Milestones in bulk from a file</a>.

A separate import, <a href="https://docs.maxio.com/configuration/importing/import-advanced-billing-payment-profiles" target="_blank" rel="noopener noreferrer">Advanced Billing Payment Profiles</a>, creates payment profiles directly in Advanced Billing by gateway vault token rather than writing to Maxio Core records. It is enabled separately from the imports above.

### Background process

Maxio decides whether to run an import in the background based on the size of the file you upload, not the number of rows it contains. Anything above roughly 5 KB is queued as a background job, which is a small enough threshold that most real import files qualify. Running in the background allows you to continue to use the system while the import completes. If multiple imports are requested on the server, they only consume a dedicated amount of resources to prevent any impact on other users. You can view the status of background imports on the <a href="https://docs.maxio.com/configuration/importing/run-an-import" target="_blank" rel="noopener noreferrer">Results</a> page.

### Data model

It is important to understand the relevant components of Maxio's data model since the import function is designed to populate tables in the database. Customers, Contracts, and Transactions form the backbone of that model, with Items, Invoices, Invoice Line Items, and Revenue Records hanging off them. The flowchart below explains how these objects work together within the system's hierarchy.

![Data model diagram: Customer feeds Contract, which feeds Transaction and Invoice; a separate Item object feeds Transaction and Invoice Line Item, while Transaction feeds Revenue Record and, optionally, Invoice Line Item](https://docs.maxio.com/content-images/configuration/importing/understand-imports/24179211076109_im_DataModel_wQuickBooks.png)

*The Maxio data model, showing which objects an import must already have in place before it can create the objects below them*

The *solid* black arrows in the model above represent a standard one-to-many database relationship (parent-child, foreign key required), which means many child records can exist for the same parent record. For example, a customer can have an unlimited number of child contracts but a single contract can only belong to one customer. The dashed black lines represent required one-to-one relationships, and the dashed blue arrow represents an optional one-to-many relationship.

Note that Items sit outside the Customer and Contract chain. An Item is a catalog-level record that Transactions and Invoice Line Items point at, so it does not belong to any single contract or customer.

## Next steps

Now that you have a general understanding of importing, you can <a href="https://docs.maxio.com/configuration/importing/format-a-csv-file-for-import" target="_blank" rel="noopener noreferrer">construct the CSV file</a> and then <a href="https://docs.maxio.com/configuration/importing/run-an-import" target="_blank" rel="noopener noreferrer">execute the import</a>.
