Many businesses have a daily routine that starts before the real work can begin. Someone downloads a file, imports it into Sage X3, checks the results, runs a report and emails it to the people who need it.
When the process depends on one person being available, information arrives late whenever that person is busy or away. Repeating the same steps also creates opportunities to select the wrong file, use yesterday’s dates or miss a recipient.
Sage X3 includes tools for running imports and reports through its batch server on a schedule. With the file transfer, validation and email settings designed around them, these tools can remove a substantial amount of routine administration.
The building blocks
Three components do most of the work:
- An import template describes how incoming data should be interpreted.
- A batch task identifies the process or report the server should execute.
- A recurring task defines when that process should run and which parameters it uses.
For report emails, the output destination and email route provide the final stage. The report must generate successfully, reach the correct recipients and contain the period and company data they expect.
Sage’s Task Management documentation confirms that batch tasks can run application processes, reports or system scripts. This article concentrates on application imports and reports; the available setup depends on your release, deployment and permissions.
1. Define and prove the import template
Sage X3’s import/export templates support structured formats including delimited files, fixed-length files and XML. The template defines the fields and, where needed, the relationship between header and detail records.
For a sales-order feed, for example, the customer and order reference belong with the order header, while product codes and quantities belong with its lines. Those relationships must be correct before a schedule is added.
Standard object-based imports use the relevant X3 object logic and its checks. Direct table imports have fewer controls, so they should not be treated as an equivalent shortcut for importing business transactions. Not every X3 object supports import, and some need specific handling.
First prove the template with a representative file in a test environment. Include a valid record, an unknown product or customer, a missing required value and a repeated external reference. Decide whether an existing record should be updated, rejected or otherwise handled before automating the feed.
2. Make the file available to the server
A file selected manually from a user’s laptop is different from a file available to an unattended process. For scheduled working, agree a supported server-accessible location and the permissions needed to read it.
The scheduled import does not itself mean X3 will fetch an attachment from a mailbox or collect a file from a supplier’s SFTP service. File collection and delivery may require an integration service or another supported transfer process.
Our recommended design is to deliver a complete file into an agreed inbound area, then make it available for processing. Avoid allowing the import to start while the source is still writing the file. Give each delivery a traceable identity and agree how processed and rejected files are retained.
These details prevent a frequent automation problem: repeatedly processing an old file because the next scheduled execution finds the same filename still in place.
3. Run the import as a batch task
Sage’s Imports function provides the standard IMPORT batch task. The task uses the chosen template and file location to carry out the import without an operator opening the import screen each time.
The function also provides a Test option for checking the file definition without importing it. That is useful during setup, but it does not replace a complete trial that checks the created business records.
Run the batch task once with the intended folder, user and parameters before making it recurring. Check the resulting documents and import log, then confirm which follow-on activities remain necessary. Creating an invoice record, for example, should not be assumed to perform every posting or approval step in the business process.
4. Add a recurring schedule
Recurring Task Management sets the folder and user under which the task runs, together with its task code and parameters. Schedules can use selected weekdays, monthly dates or month end, fixed times, or a frequency within a time window. Exclusion calendars can omit specified dates.
This supports different operational needs: a supplier update before purchasing starts, order imports at intervals during the day or a month-end processing routine.
The schedule can also use relative-date settings where applicable. That matters for reports that should move forward with each execution. A saved date range must not silently remain fixed while the task keeps running every morning.
Agree the execution time zone and check the effect of clock changes, late file arrival and server restarts. A schedule describes when work is requested; capacity, availability and the duration of preceding work affect when the result is ready.
5. Deal with partial imports and rejected records
An import can accept some records and reject others. Sage’s temporary storage documentation explains that records failing checks can be retained for correction and reimport, while other records may already have been integrated.
The business therefore needs a definition of success that goes beyond “the task finished”. Reconcile expected, accepted and rejected records, along with meaningful control totals where appropriate.
If 100 orders arrive and 98 are accepted, the owner needs to know which two require action. Resubmitting the whole file without considering the 98 successful orders could create duplicates or unwanted updates, depending on the template and transaction rules.
Define a recovery process that can retry the necessary records safely. File archiving, duplicate detection and exception notifications should be designed explicitly; they should not be assumed to follow automatically from scheduling IMPORT.
6. Prepare a report for unattended execution
X3’s report dictionary defines report characteristics, access rights and launch parameters. A report batch task can then be scheduled using the same recurring-task framework.
Start by agreeing the report’s purpose and scope: company, site, date range, currency and the information recipients need to act. Prove the report using the identity that will run the scheduled task, since that account’s access can affect the result.
Choose an output format supported by the report and installed reporting components. A PDF may suit a fixed presentation, while a suitable spreadsheet export may be preferable for further analysis. Check the generated attachment rather than relying only on a screen preview.
7. Configure the report email route
Report destinations control output such as files, printers and messages. The destination, print-server settings and email configuration need to work without an interactive prompt.
Sage documents two routes for Message-type output through the ASAIDEST setting: direct delivery through Crystal Reports, or delivery through a dedicated X3 workflow event. The appropriate route must be confirmed and configured for the environment.
The generic APRINT workflow can attach the generated report. Its default recipient is the current user; distribution to a finance team or site manager needs an appropriate recipient rule. Sage also documents report-specific rules based on the report code.
Use a clear subject and an agreed recipient list. Confirm the sender, attachment, delivery log and actual mailbox receipt. Generating a file and successfully delivering an email are separate outcomes.
Connect imports and reports in the right order
Suppose order imports normally start at 06:00 and a management report is scheduled for 06:10. If the import takes longer than usual, the report could show incomplete information.
X3’s task groups support ordered processing and error-dependent continuation. A suitable design could run the import, check its result and then generate the report. Where a partial import is possible, the check must examine the business result as well as the task status; that may require an additional control or tailored process.
As an illustrative morning routine, the business might collect the complete file, import it, reconcile accepted and rejected records, then distribute a summary. If reconciliation fails, the agreed outcome could be an exception notification instead of the normal report. This is a process to configure and test, rather than an automatic behaviour of every import.
Monitor the routine after it goes live
Sage X3’s Query Management function provides visibility of batch requests and their status, with access to execution logs and relaunch controls. Assign an owner who checks exceptions and can coordinate recovery.
Test the conditions that change the outcome: no file, late file, rejected records, a repeat submission, a long-running task and an email that fails to arrive. For each, agree what the business should see and who should respond.
Scheduled imports and report emails can give teams a more consistent start to the day, reduce repetitive handling and make information available sooner. The strongest result comes from connecting the schedule to reliable data, clear exception handling and a report that reaches the people who can use it.