How-toAcumatica Cloud ERPSystem Integration / Import Scenarios

How to Create an Import Scenario in Acumatica

Question
How to create an import scenario in Acumatica

Also searched as

  • Acumatica CSV import scenario setup
  • Acumatica import scenario field mapping
  • How to import data into Acumatica from Excel
  • Acumatica scheduled import

Short answer

Import scenarios in Acumatica live under System Integration > Import Scenarios: you pick a source (a file or a Generic Inquiry), map each source field to a target DAC field on the destination screen, then run or schedule the scenario. A small sample file run through the wizard first makes the field mapping step far faster than mapping blind.

Applies to: Acumatica 2022 R1 and later, all editions

Build and run an Acumatica import scenario

  1. 1Prepare the source file (CSV, XML, or Excel) with a clean header row that matches the intended mapping.
  2. 2Go to System Integration > Import Scenarios and click Add New Record.
  3. 3Enter a scenario name and select the destination screen (Object) the data will be imported into.
  4. 4Under Source, choose File as the provider type and upload the sample file so the wizard reads the actual columns.
  5. 5Map each source column to the corresponding field on the destination screen's data view, using the mapping grid.
  6. 6For columns not present in the source, set a Default value, a Mapped constant, or mark the column as Ignore.
  7. 7On the Import Scenario Parameters tab, expose values such as the file path as runtime prompts if the scenario will be scheduled.
  8. 8Run the scenario manually first with a small sample file and review the Processing screen for row-level errors.
  9. 9Once verified, schedule it under Automation Schedules, or trigger it from a Business Event for hands-off imports.

How import scenarios map to DACs

Every field you map targets a Data Access Class (DAC) field behind the destination screen, not just a visible UI label. That matters because some fields carry validation logic tied to the screen's graph, for example an Inventory ID format check or a required Branch value, and the import scenario runs that same validation on each row rather than bypassing it.

This is why import scenarios are generally safer than a raw SQL load: bad data gets rejected row by row with a reason, instead of silently corrupting referential integrity across linked tables.

Which screens support import scenarios

Most maintenance and transaction entry screens built on the standard Acumatica framework support import scenarios out of the box, since the wizard reads the screen's underlying data view definitions. Custom screens built with Acumatica's low-code tools generally work the same way as long as they expose a standard data view.

For complex multi-table imports, or where a screen's data view does not expose everything needed, using a Generic Inquiry as the source, or a customization-level import extension, is often more reliable than forcing a single screen import scenario to do more than it was designed for.

Using a Generic Inquiry as the source instead of a file

Import scenarios are not limited to files. Selecting Generic Inquiry as the provider type lets you pull data from any BQL-based query, including joins across linked tables, which is useful for scenarios where the source system is another Acumatica tenant, a linked database, or a pre-built staging table rather than a flat file drop.

Troubleshooting row-level failures

When a run reports errors, open the Processing tab and expand the failed rows; each one links to a details view with the specific validation message the destination screen raised, which is usually enough to identify the offending field without guessing. Column headers with trailing spaces or hidden characters are a common, easy-to-miss cause of 'field not found' mapping errors that otherwise look correct in the mapping grid.

Common pitfalls

  • !Column headers with trailing spaces or inconsistent casing cause silent field-not-found mapping mismatches.
  • !Leaving a required field unmapped without setting a Default value causes every row referencing it to fail.
  • !Import scenario runs are processed row by row; a large file failing partway through can leave partial data unless tested in a sandbox first.
  • !Date and numeric fields formatted differently between Excel and CSV exports (US vs ISO date formats) cause silent misreads.
  • !Mapping to a field with business logic validation (like a formatted Inventory ID) fails without an obvious cause unless the Processing tab's detail link is checked.
  • !Reusing a scenario built against one tenant or branch configuration in a different company without checking Branch and Company defaults.

How an ERP-grounded AI assistant handles this

ERPray, grounded on a tenant's actual screen and DAC definitions, can help draft the field mapping for a new import scenario and explain a specific row-level validation error in plain language, pointing to the exact field and rule that rejected it instead of the operator hunting through the Processing tab detail links manually. Running or scheduling the scenario itself stays a deliberate action by the person who owns the data, since imports write directly into production tables.

Frequently asked questions

Can an Acumatica import scenario pull from a database instead of a file?

Yes, by choosing Generic Inquiry as the provider type instead of File. This lets the scenario source data from any BQL-based inquiry, including joins across linked tables, rather than requiring a flat file export first.

How do I schedule a recurring import scenario?

Expose the source path or parameters as runtime prompts on the Import Scenario Parameters tab, then create an entry under System Integration > Automation Schedules pointing at the scenario, setting the recurrence and any fixed parameter values.

Can I trigger an import scenario from a Business Event?

Yes, Business Events can call an import scenario as an action, which is a common pattern for reacting to a new file landing in a watched location or a related record change, without waiting for the next scheduled run.

Why does my import scenario fail only on some rows?

Row-level failures usually mean a specific value fails validation on the destination screen, such as an invalid Inventory ID format or a missing required field with no default set. Open the Processing tab and expand the failed row for the exact message.

Related

How-to

How to Create a Generic Inquiry in Acumatica

Generic Inquiries (GI) are Acumatica's no-code query builder for joining tables, adding filters, and exposing the result as an inquiry screen, dashboard data source, or API endpoint. Open System > Customization > Generic Inquiry, add your base table, define joins and conditions, then run and save. No SQL or customization project is required.

Error fix

Odoo Scheduled Actions (Cron) Not Running: How to Fix

Odoo scheduled actions usually stop firing because no cron worker is available (workers or max-cron-threads misconfigured), the action is set inactive, or an earlier job crashed and left an ir.cron row stuck in the running state, which blocks the queue. Check Settings > Technical > Automation > Scheduled Actions first, then the server config and the ir.cron table.

How-to

How to Run a Physical Inventory Count in Sage X3

Sage X3 physical counts run through Stock > Counts: create a count session scoped to a site, category, or zone, generate the count sheet to freeze theoretical quantities, enter counted quantities, review the variance report, then validate to post stock and valuation adjustments. Blocking movements against the counted locations during the window keeps the variance meaningful.

How-to

How to Set Up Indirect Rate Pools in Deltek Costpoint

Indirect rate pools in Costpoint group related indirect costs, such as fringe, overhead, G&A, or material handling, so they can be allocated to direct cost bases using a defined rate. Pools and their bases are configured under the Indirect Rate Structure area, with pool tiers sequenced so that lower-level pools like fringe allocate into higher-level pools like overhead before G&A is calculated.

Error fix

Fix Odoo AccessError: You Are Not Allowed to Access Records

Odoo raises AccessError when a user's security groups do not grant a CRUD right on a model through ir.model.access.csv, or when an ir.rule record rule filters the specific record out for that user or company. Fix it by adding the user to the group named in the error, editing the model's access rights, or reviewing the record rule's domain under Settings > Technical > Security.

How-to

How to Void a Check in Sage 100

Sage 100 voids checks through Accounts Payable > Main > Check and Payment Voiding. Select the bank code, choose the check number, and Sage reverses the Cash Disbursements Journal entry and reopens the invoice it paid. A check that already cleared in Bank Reconciliation or falls in a closed period needs an extra step before it can be voided cleanly.

AI for ERP

AI for Acumatica Manufacturing Edition, Built on Your Own Data

Add AI to Acumatica Manufacturing Edition without giving up control of your shop and cost data. Private LLMs and agents grounded in your Acumatica instance.

Stuck on Acumatica Cloud ERP?

Talk to engineers who work inside Acumatica Cloud ERP every week, and who build private AI that answers these questions from your own ERP data.