BillPayment

Canonical contract for persisted bill payment payloads.

Identity source_id

Attributes

Field
Type
Description
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_id
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.
vendor_idrequired
string
Vendor ID — Identifier for the related vendor record.
bill_id
string
Bill ID — Identifier for the related bill record.
payment_number
string
Payment Number
amountrequired
decimal
Amount
currencyrequired
string
Currency
payment_date
date
Payment Date
payment_method
string
Payment Method
payment_method_type
string
Payment Method Type
checkcredit_cardachcashwireother
payment_method_details
map
Payment Method Details
default: %{}
memo
string
Memo
is_1099_eligible
boolean
1099 Eligible
form_1099_type
string
1099 Form Type
approval_status
string
Approval Status
draftpending_approvalapprovedrejectedvoid
statusrequired
string
Status
pendingcompletedvoid
allocations[]
array<object>
Allocations
default: []
bill_idrequired
string
Bill ID — Identifier for the related bill record.
amountrequired
decimal
Amount
allocated_on
date
Allocated On
metadata
map
Metadata
default: %{}

TypeScript SDK

Import

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

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

Create

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

const billPayment = BillPayment.create({
  source_id: "source_id_123",
  source_system: "…",
  vendor_id: "vendor_id_123",
  amount: "100.00",
  currency: "USD",
  status: "pending",
});

Get and query

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

const billPayment = BillPayment.get("bill_payment_123");

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

Update

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

BillPayment.update("bill_payment_123", {
  // …fields to update
});

Delete

BillPayment.delete("bill_payment_123");