Managing Sync Jobs

Learn how to manage, monitor, and troubleshoot your sync jobs for smooth data processing.

3 min read

On this page

Every time a feed runs (manually with Sync Now, or automatically on a schedule) BankSync creates a sync job. The job is the unit of work you can watch, pause, resume, and retry. This guide explains how jobs work and how to manage them.

Backfilling history and reading the run log.

Understanding Sync Jobs#

Each job moves data from your bank accounts to the integration configured in the feed's Destination tab:

Job Processing Steps

  1. Divides into chunks

    For backfills, your date range is split into manageable 7-day periods. A short incremental sync may be a single chunk.

  2. Processes sequentially

    Each chunk is processed one at a time.
  3. Fetches records

    Transactions (or balances, holdings, trades, or loans, depending on the feed's data type) are retrieved from your bank for each period.

  4. Deduplicates

    Records that were already written by a previous sync are skipped, so overlapping date ranges and re-runs are safe.

  5. Maps the data

    Data is transformed according to your field mappings.
  6. Writes to your integration

    Processed rows are sent to your sheet, table, or database.

  7. Provides updates

    Real-time progress is shown throughout.

First sync vs. subsequent syncs#

  • First sync: there's no sync history yet, so the job performs the initial backfill of all available history. Long historical backfills are chunked into 7-day periods, which is why a multi-year backfill shows many chunks and takes longer.
  • Subsequent incremental syncs: the job picks up from where the last successful sync left off, so it's usually a single fast chunk.
  • Manual vs. scheduled: a manual "Sync Now" uses exactly the same read path and deduplication as a scheduled run. Running one manually never causes duplicates alongside the schedule.

How deduplication works#

BankSync keys each record on the unique identifier issued by the bank provider and skips records it has already written for that account. This is why you can safely overlap date ranges, retry failed jobs, or run a manual sync minutes before a scheduled one. The exceptions: two different feeds writing the same account to the same sheet are deduplicated independently (each feed keeps its own history), and rows you edit or delete in your sheet or table are not re-detected. See the Troubleshooting Guide if you're seeing duplicates.

Viewing Job Status#

Access Job History

  1. Open your feed

    From the Feeds tab, click on the feed you want to check.
  2. Click "History"

    View all past and current sync jobs for this feed.
  3. Click a job for details

    See progress percentage, the date range covered, record counts, and any errors.

The Feed History dialog for a feed named Chase to Sheets: a left sidebar lists three runs (a completed run with 42 transactions written, a failed run, and a running one), and the details panel for the selected completed run shows a Scheduled badge, stat cards for 44 transactions processed and 42 transactions written, and Run Details with the start time, an 11 second duration, and the completion time.
The feed's History dialog: every run with its status, counts, and timing.

Job Status Indicators#

Created

Job created but not yet started

In Progress

Job is actively processing chunks

Completed

All chunks processed successfully

Paused

Job paused by user

Failed

Job encountered errors

A completed job with 0 rows isn't necessarily a problem

If no new transactions posted since the last sync, the job completes successfully with nothing to write. Check the job's date range before assuming data is missing.

Job Control Actions#

Pausing a Job#

  1. Open the job details

    Click on the running job in the history list.
  2. Click the "Pause" button

    The pause option appears for in-progress jobs.
  3. Job stops after current chunk

    The job finishes its current chunk before pausing, so no chunk is left half-written.

Resuming a Job#

  1. Open the paused job

    Find the paused job in the history list.
  2. Click "Resume"

    The resume button appears for paused jobs.
  3. Job continues from where it stopped

    Processing resumes from the next unprocessed chunk; completed chunks are never redone.

Retrying a Failed Job#

  1. Review error messages

    Open the failed job to understand what went wrong. Error details include remediation suggestions where possible.

  2. Resolve the issue

    Fix the problem first (for example, reconnect the bank in the Banks tab if the connection expired, or re-authorize the integration in the Integrations tab).

  3. Click "Retry"

    The job restarts failed chunks while preserving successful ones, and deduplication prevents any rows written before the failure from being written twice.

Troubleshooting Tips#

Bank Connection Issues

If a job fails due to bank authentication, reconnect your bank in the Banks tab, then retry the job.

Rate Limits

Some banks and integrations limit API calls. Wait a few minutes before retrying if you hit a rate limit.

Large Date Ranges

Processing years of transactions takes time because each 7-day chunk is fetched and written separately. Consider backfilling in stages (for example, one year at a time).

Integration Connectivity

Ensure the integration this feed writes to (Google Sheets, Excel, Notion, Airtable, or a database) is healthy in the Integrations tab.

Quick Fix for Most Issues

Most sync job failures are due to expired bank connections. Check the Banks tab first and reconnect any banks showing a warning or error status.

View Troubleshooting Guide

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.