ARVEXI

Implementation Guide

Data integration setup: connecting your ERP to Arvexi

Everything your team needs to get data flowing from your ERP into Arvexi. Whether you use SFTP file drops, real-time webhooks, or manual CSV uploads. Pre-built templates for SAP, Oracle, NetSuite, Dynamics, Sage Intacct, and QuickBooks.

Integration methods overview

Arvexi supports three distinct methods for importing lease data from your ERP or general ledger system. Each method serves a different operational pattern, and you can use all three simultaneously across different subsidiaries, departments, or data sources.

  • SFTP file drops. Your ERP exports files to a secure directory on a schedule. Arvexi polls the directory, picks up new files, and processes them automatically. Best for systems that support scheduled batch exports.
  • Webhook API. Your ERP sends a JSON payload to an Arvexi endpoint whenever a relevant event occurs (new lease created, payment posted, modification recorded). Best for real-time, event-driven architectures.
  • CSV/XLSX upload. Your team exports a file from the ERP and uploads it through the Arvexi web interface. Best for one-time migrations, periodic reconciliations, or systems without automated export capabilities.

Regardless of which method you choose, every row passes through the same validation pipeline: schema checks, duplicate detection, AI column matching, and a staging area for human review before records go live.

Pre-built ERP templates

Arvexi ships with six pre-built templates that map common ERP export formats to Arvexi's data model:

  • SAP. Maps RE-FX contract fields and FI-AA asset master data, including SAP-specific date formats and currency codes
  • Oracle. Covers Oracle Property Manager and Oracle Lease Management export formats, with Oracle date and number conventions
  • NetSuite. Maps NetSuite saved search exports, including custom fields and subsidiary segmentation
  • Microsoft Dynamics 365. Supports Dynamics Finance lease module exports and custom entity exports
  • Sage Intacct. Maps Sage Intacct dimension structures and contract data exports
  • QuickBooks. Handles QuickBooks Online and Desktop export formats for smaller portfolios

If your ERP is not on this list, the Smart Import Wizard handles any tabular format. As long as your system can produce a CSV, XLSX, or JSON file, Arvexi can ingest it.

SFTP configuration

SFTP (SSH File Transfer Protocol) is the most common method for automated, recurring data feeds. Your ERP drops files into a secure directory, and Arvexi picks them up on a configurable schedule.

Generating credentials

From the Arvexi Settings page, navigate to Integrations and select SFTP. Arvexi generates a dedicated hostname, port, username, and SSH key pair for your organization. You configure your ERP to connect using these credentials and drop files into the designated import directory.

  • Protocol. SFTP over SSH (port 22 by default, configurable)
  • Authentication. SSH key pair (preferred) or username/password. Key-based authentication is recommended for automated processes.
  • Directory structure. Arvexi creates a /incoming directory for new files, a /processed directory for successfully imported files, and a /failed directory for files that could not be parsed
  • File naming. No naming convention required. Arvexi identifies files by content, not filename.

Polling schedule

Arvexi polls the SFTP directory at a configurable interval: every 5 minutes, 15 minutes, hourly, or daily. For most ERP integrations a daily poll aligned with the ERP's export schedule is sufficient. High-frequency polling is available for environments where near-real-time data freshness matters.

File fingerprinting

Every file picked up from SFTP is fingerprinted with a SHA-256 hash of its contents. If your ERP drops the same file twice. because of a retry, a cron overlap, or a manual re-run. Arvexi detects the duplicate and skips it. The duplicate is moved to the /processed directory with a note in the import log. This guarantees exactly-once processing without requiring your ERP to track delivery state.

Encryption and compliance

All SFTP connections use AES-256 encryption in transit. Files at rest in the import directory are encrypted with your organization's key. Arvexi retains raw import files for 90 days (configurable) for audit purposes, then purges them automatically. For organizations subject to SOC 2 or ISO 27001, the SFTP audit log records every connection, file transfer, and processing event.

Webhook API setup

The webhook API is the best choice when your ERP can emit events in real time. A new lease created, a payment posted, a modification recorded. Instead of waiting for a batch export, data flows into Arvexi the moment it changes in your source system.

Registering the endpoint

From the Integrations page, select Webhook API. Arvexi generates a unique endpoint URL and a signing secret for your organization. Configure your ERP to POST JSON payloads to this URL whenever a relevant event occurs. Every request must include an HMAC-SHA256 signature header so Arvexi can verify authenticity.

Idempotency keys

Every webhook delivery must include an idempotency key. A unique identifier for the event (typically the ERP's transaction ID or a UUID generated at the source). If the same idempotency key is received twice, Arvexi returns a 200 response but does not process the duplicate payload. This makes it safe for your ERP to retry on network failures without risk of creating duplicate records.

Arvexi stores idempotency keys for 72 hours. After that window, a resubmission with the same key will be treated as a new event. For most ERP integrations, 72 hours provides more than enough coverage for retry logic.

Payload format

The webhook accepts JSON payloads with a flexible schema. At minimum, each payload must include an event type (e.g., lease.created, payment.posted, lease.modified), an idempotency key, and a data object containing the fields to import. The Smart Import Wizard maps the fields in your data object to Arvexi fields, just like it does for file-based imports.

Retry and error handling

If Arvexi returns a 5xx error, your ERP should retry with exponential backoff. Arvexi guarantees at-least-once processing, and the idempotency key prevents duplicates. If a payload fails validation (missing required fields, invalid data types), Arvexi returns a 422 response with a detailed error body listing every validation failure. These errors appear in the import log and trigger an alert to your configured notification channel.

CSV/XLSX upload

Manual file upload is the simplest integration method and requires no configuration on the ERP side. Export your data from any system, open the Arvexi import page, drag and drop the file, and let the Smart Import Wizard handle the rest.

Supported formats

  • CSV. Comma, tab, pipe, or semicolon delimited. Arvexi auto-detects the delimiter.
  • XLSX. Excel workbooks with one or more sheets. If the workbook contains multiple sheets, Arvexi lets you select which sheet to import.
  • File size. Up to 50 MB per file, supporting portfolios of 50,000+ rows in a single upload.

Drag-and-drop interface

The import page accepts drag-and-drop or file picker selection. As soon as the file is uploaded, Arvexi parses it, displays a preview of the first 20 rows, and launches the Smart Import Wizard. The entire process from upload to staged rows typically takes under 60 seconds for files with fewer than 10,000 rows.

When to use manual upload

Manual upload is ideal for three scenarios: initial migration (loading your entire lease portfolio for the first time), periodic reconciliation (importing a GL trial balance to compare against Arvexi's calculated balances), and one-off corrections (importing a handful of leases from a newly acquired subsidiary or a system that does not support automated exports).

AI column matching

The Smart Import Wizard is the core of Arvexi's data ingestion pipeline. Regardless of which integration method delivers the data, every file passes through the wizard's AI-powered column matching engine.

How matching works

When a file arrives, the wizard reads the column headers and samples 50 data rows. It sends the headers and sample data to a language model trained to recognize accounting and lease terminology across ERP systems. The model returns a mapping from each source column to the corresponding Arvexi field, along with a confidence score between 0 and 1.

  • High confidence (0.9+). The column name and data format closely match a known Arvexi field. The mapping is pre-accepted.
  • Medium confidence (0.6-0.9). The match is likely correct but the wizard presents it for confirmation.
  • Low confidence (below 0.6). The wizard cannot determine the mapping. You select the target field manually or mark the column as "skip."

Date and number parsing

Different ERPs use different date formats (MM/DD/YYYY, DD-MMM-YY, YYYYMMDD) and number conventions (comma vs. period as decimal separator). The wizard detects the format from the sample data and converts every value to Arvexi's internal representation. If the format is ambiguous. For example, "01/02/2026" could be January 2 or February 1. The wizard asks you to confirm.

Multi-currency handling

If your file includes a currency column, the wizard maps it automatically. If all rows share the same currency and no column is present, you select the currency once during mapping. Arvexi stores each lease in its functional currency and converts to your reporting currency using the rate table configured in Settings.

Validation rules

After column matching, every row passes through a validation pipeline:

  • Required fields present (lease ID, commencement date, payment amount at minimum)
  • Dates are valid and in logical order (commencement before expiration)
  • Payment amounts are positive numbers
  • Lease classification values match the allowed set (operating, finance)
  • Currency codes are valid ISO 4217 codes
  • No duplicate lease IDs within the same import batch

Rows that fail validation are flagged in the staging area with specific error messages. Clean rows proceed to staging. You can fix flagged rows inline without re-uploading the file.

Import profiles and scheduling

Once you confirm a column mapping, save it as an import profile. Profiles store the complete mapping configuration. Source columns, target fields, date formats, currency, and validation rules. So the next import from the same source requires zero configuration.

Creating an import profile

After the Smart Import Wizard finishes mapping, click Save as Profile. Name the profile (e.g., "SAP RE-FX Monthly Export" or "NetSuite Lease Saved Search") and optionally assign it to a specific integration method (SFTP, webhook, or manual). The next time a file from the same source arrives, Arvexi applies the saved mapping automatically.

Scheduled imports

For SFTP and webhook integrations, you can attach a schedule to any import profile. Schedules support daily, weekly, and monthly cadences. A daily schedule runs at a configured time (e.g., 6 AM UTC, after your ERP's nightly batch export). A monthly schedule runs on a specific day (e.g., the 2nd business day of each month).

Each scheduled run produces an import log entry showing the number of rows received, rows validated, rows flagged, and rows staged. If the entire import fails (connection error, empty file, unparseable format), Arvexi retries once after 15 minutes and then sends an alert to your configured notification channel.

Staging area and approval

Every imported row, regardless of method, lands in the staging area before it becomes an active lease record. The staging area shows a diff view: new leases that will be created, existing leases that will be updated, and rows that matched an existing record but contain no changes (no-ops).

You can approve all rows at once or review them individually. For organizations that require dual approval, the staging area supports a two-step workflow: the importer stages the rows and a reviewer approves them. Only approved rows are promoted to active lease records.

Audit trail

Every import is logged with the source file fingerprint, the import profile used, the user who triggered (or the schedule that triggered) the import, the timestamp, and the row-level outcome (created, updated, flagged, skipped). This audit trail is available in the import history and exportable for external audit review.

Troubleshooting

SFTP connection failures

If Arvexi cannot connect to the SFTP directory, check three things: (1) the SSH key has not been rotated on the ERP side without updating the Arvexi configuration, (2) the ERP's firewall allows outbound connections to Arvexi's SFTP hostname and port, and (3) the import directory path in Arvexi matches the directory your ERP is writing to. The SFTP connection log shows the exact error for every failed attempt.

Webhook signature validation failures

A 401 response from the webhook endpoint means the HMAC-SHA256 signature did not match. Verify that your ERP is using the correct signing secret (available on the Integrations page) and that it is computing the signature over the raw request body, not a re-serialized version. Clock skew beyond 5 minutes will also cause signature failures.

Column mapping mismatches

If the Smart Import Wizard maps a column incorrectly. For example, mapping a renewal option date to the expiration date. override the mapping manually and save the corrected profile. The wizard learns from your corrections: the next time it encounters the same column header, it will use the corrected mapping.

Rows stuck in staging

Rows remain in staging until explicitly approved. If rows appear stuck, check for validation errors (flagged rows cannot be approved until fixed) or for the approval workflow (if dual approval is enabled, a reviewer must sign off). The staging area dashboard shows the count and status of all pending rows.

Duplicate detection false positives

If Arvexi rejects a file that is genuinely new (not a duplicate), the file contents may be byte-identical to a previously processed file. For example, if your ERP exports the same data on two consecutive days because no changes occurred. In this case, the rejection is correct: there are no new rows to import. If you need to force a re-import, use the manual upload method and select "Force re-import" to bypass the fingerprint check.

Performance for large files

Files with more than 10,000 rows are processed in batches of 1,000 to keep memory usage predictable and provide progress updates in the UI. A 50,000-row file typically processes in under 3 minutes. If you are importing an initial portfolio of 100,000+ leases, split the file into multiple uploads by entity or asset class for easier review in the staging area.

FAQ

Ready to connect your ERP?

Book a demo and see the Smart Import Wizard in action.

Book a demo