ArvexiDocumentation

Scheduling automated imports

Scheduled jobs overview

Scheduled imports run as background jobs that poll for new data and process it automatically. Each job is tied to an import profile that defines the source, mapping, and validation rules.

Navigate to Settings → Integrations → Scheduled Jobs to manage your automated imports. The dashboard shows every active job with its schedule, last run time, next run time, and status (active, paused, or failed).

SFTP polling

The most common automation pattern is SFTP polling. Arvexi connects to your configured SFTP endpoint on a schedule and checks the /inbox directory for new files.

When a new file is detected, Arvexi:

  1. Downloads the file and computes a SHA-256 hash for deduplication.
  2. Matches the file against saved import profiles using the fingerprinting system.
  3. If a profile matches, applies the saved column mapping and validation rules automatically.
  4. Stages the rows, validates them, and commits valid rows to the database.
  5. Moves the processed file from /inbox to /archive with a timestamp suffix.

If no import profile matches the file, Arvexi leaves it in the inbox and sends a notification to the integration admin asking them to map the new file format manually.

The default polling interval is five minutes. You can adjust this per job from one minute (for time-sensitive data) to 24 hours (for daily batch feeds).

Cron-based scheduling

For precise timing control, configure jobs using cron expressions. This is useful when your ERP exports files at a specific time and you want Arvexi to process them shortly after.

Examples:

  • 0 6 * * *: Every day at 6:00 AM UTC. Common for daily trial balance exports.
  • 0 8 1 * *: First day of every month at 8:00 AM UTC. Common for month-end close data.
  • 0 */4 * * *: Every four hours. Common for intraday subledger feeds.
  • 30 7 * * 1-5: Weekdays at 7:30 AM UTC. Common for daily reconciliation data.

All schedules use UTC. The job scheduler shows the next five upcoming run times so you can verify the expression behaves as expected before activating.

Import profiles

An import profile is a reusable configuration that tells Arvexi how to process a specific type of file. Each profile stores:

  • Column mapping: The mapping from source columns to Arvexi fields, as configured in the Import Wizard.
  • Validation rules: Custom rules beyond the defaults (for example, requiring positive amounts or enforcing specific date ranges).
  • Target entity: The entity that imported records belong to.
  • File fingerprint: The structural signature used to auto-match incoming files.
  • Post-import actions: Optional steps that run after a successful commit, such as triggering an auto-reconciliation run or sending a Slack notification.

Profiles are versioned. When you update a mapping, the previous version is preserved so you can reprocess historical files with the original configuration if needed.

Duplicate detection

Arvexi uses two layers of duplicate detection to prevent the same data from being imported twice:

  • File-level deduplication: The SHA-256 hash of every processed file is stored. If an identical file appears in the SFTP inbox (same content, same hash), Arvexi skips it and moves it to /archive/duplicates with a log entry.
  • Row-level deduplication: Each import profile can define a composite key (for example, account number + period + entity). Rows with matching keys are flagged as duplicates during staging. You can configure the behavior: skip duplicates, update existing records, or flag for manual review.

The import history log shows duplicate detection events so you can audit which files and rows were skipped and why.

Monitoring and alerts

Every scheduled job run is logged with its outcome: success, partial success (some error rows), or failure. You can configure alerts for any of these outcomes:

  • Email alerts: Sent to the integration admin when a job fails or produces error rows.
  • Slack notifications: Post a summary to a Slack channel after each run, including row counts and any errors.
  • Webhook callbacks: Send a POST request to an external URL with the job result, useful for triggering downstream processes in your data pipeline.

If a job fails three consecutive times, Arvexi pauses it automatically and sends a critical alert. The job remains paused until an admin investigates and re-enables it.

Was this article helpful?