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
draftapprovedvoidapproved_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");