BankTransfer

Canonical contract for persisted bank transfer payloads.

Identity source_id, connection_id

Attributes

Field
Type
Description
id
string
Canonical ID — Backfill canonical record ID assigned after persistence. This is distinct from the source-system ID.
source_idrequiredidentity
string
Source ID — Stable external record ID from the source system. Backfill uses this with source_system and, when present, connection_id for idempotent imports and upserts.
source_systemrequired
string
Source System — Connector or provider that supplied the record, such as stripe, shopify, qbo, csv_upload, or manual.
connection_ididentity
string
Connection ID — Backfill tenant connection ID that scopes records to a specific external account, store, realm, or integration instance. It may participate in source identity without being required on every create payload.
subsidiary_id
string
Subsidiary ID — Business entity or subsidiary identifier for multi-entity accounting. Leave blank when the tenant does not use subsidiaries.
transfer_number
string
Transfer Number
amountrequired
decimal
Amount
currencyrequired
string
Currency
transfer_daterequired
date
Transfer Date
memo
string
Memo
from_account_idrequired
string
From Account ID — Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
from_account_code
string
From Account Code
to_account_idrequired
string
To Account ID — Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
to_account_code
string
To Account Code
statusrequired
string
Status
draftapprovedvoid
approved_at
datetime
Approved At
approved_by
string
Approved By
dimensions
map
Dimensions
default: %{}
metadata
map
Metadata
default: %{}

TypeScript SDK

Import

Every canonical resource is exposed as a top-level entity global on @backfill-io/sdk.

import { BankTransfer } from "@backfill-io/sdk";

Create

Pass an object matching BankTransferCreateInput. Required fields are shown below.

const bankTransfer = BankTransfer.create({
  source_id: "source_id_123",
  source_system: "…",
  amount: "100.00",
  currency: "USD",
  transfer_date: "2026-01-15",
  from_account_id: "from_account_id_123",
  to_account_id: "to_account_id_123",
  status: "draft",
});

Get and query

Look up a single record by canonical ID, or query with filters and pagination.

const bankTransfer = BankTransfer.get("bank_transfer_123");

const results = BankTransfer.query({
  where: { },
  orderBy: [{ field: "inserted_at", direction: "desc" }],
  limit: 50,
});

Update

Partial update — pass only the fields you want to change.

BankTransfer.update("bank_transfer_123", {
  // …fields to update
});

Delete

BankTransfer.delete("bank_transfer_123");