Skip to main content
POST
Create a house account transaction

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

Body

application/json

Records a charge or payment against a house account, either a sale tendered to the account or an adjustment such as a customer settling what they owe.

amount
string<monetary>
required

Money the transaction moved. A negative amount is a charge, which grows what the customer owes; a positive amount is a payment or refund, which reduces it.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

idempotency_key
string
required

Key supplied when the transaction was created, unique within the banner. Sending the same key again returns the transaction already recorded rather than charging the account twice.

type
enum<string>
required

What produced the transaction: a sale or refund rung up at a register, or an adjustment made in the back office.

Available options:
manual_adjustment,
order_payment
description
string

Note to write alongside the transaction, such as why the adjustment was made.

employee_id
string

ID of the employee who took the transaction. Only a register sends one, and it is required there; a back-office session records the signed-in user and an API key records itself.

Pattern: ^[0-9]+$
metadata
object | null

Your own key/value pairs, stored with the transaction and returned unchanged. Vori never interprets them. Up to 50 keys; key names up to 40 characters of letters, numbers, underscores, and hyphens; values up to 500 characters. Keys beginning with "vori" are reserved. Do not put personal or sensitive information here — these values flow into reporting and data exports.

Example:
order_id
string<uuid>

ID of the checkout this settles, from the transactions resource. Required on an order_payment and rejected on a manual_adjustment.

store_id
string

ID of the store the transaction belongs to. Required, except from a register, which posts against the store it is installed in.

Pattern: ^[0-9]+$

Response

House account transaction created successfully.

One charge or payment on a house account. The ledger is append-only, so a transaction is never edited or removed once recorded; a correction is another transaction.

id
string
required

Unique identifier for the record.

amount
string<monetary>
required

Money the transaction moved. A negative amount is a charge, which grows what the customer owes; a positive amount is a payment or refund, which reduces it.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

api_client_id
string | null
required

ID of the API credential that recorded the transaction. Null when a person did.

created_at
string<date-time>
required

When the record was created.

description
string | null
required

Note written alongside the transaction, such as why an adjustment was made.

effective_at
string<date-time>
required

When the transaction took effect. A sale carries the time it was completed at the register, which can be earlier than when it reached the ledger.

employee_id
string | null
required

ID of the employee who took the transaction at a register, or null when it was made in the back office.

Pattern: ^[0-9]+$
ending_balance
string<monetary>
required

The account balance after this transaction. A negative balance is what the customer owes the store. A positive balance is credit the customer can spend.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

idempotency_key
string
required

Key supplied when the transaction was created, unique within the banner. Sending the same key again returns the transaction already recorded rather than charging the account twice.

metadata
object | null
required

Your own key/value pairs, exactly as supplied when the transaction was recorded.

Example:
order_id
string<uuid> | null
required

ID of the checkout this settled, from the transactions resource. Null when the ledger entry is not tied to a checkout.

store_id
string
required

ID of the store where the transaction took place.

Pattern: ^[0-9]+$
type
enum<string>
required

What produced the transaction: a sale or refund rung up at a register, or an adjustment made in the back office.

Available options:
manual_adjustment,
order_payment
updated_at
string<date-time>
required

When the record was last changed.

user_id
string | null
required

ID of the back-office user who made the adjustment. Null for a transaction taken at a register.

Pattern: ^[0-9]+$