Transaction programs: attach, categorize, reconcile
The Transaction Verbs attach, categorize, reconcile as MCP do programs, with inputs, result, refusals and an example.
Reference for Transaction, one group of Transaction programs.
Transaction.attach
Attach matches a receipt File to a card Transaction, or flags the Transaction when no receipt arrives in time. Verb page.
do: return await $.Transaction.attach(input)Emits Transaction.attached.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
transaction | Transaction | required | The card Transaction. |
file | File | The receipt; empty to match from the Startup’s Mailboxes. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
transaction | Transaction | required | The Transaction with its receipt. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
{
"name": "do",
"arguments": {
"code": "return await $.Transaction.attach({ transaction: 'txn_XoxtZe3CQI' })"
}
}Transaction.categorize
Categorize codes a Transaction to an account in the chart by the Startup’s Policy and flags a low-confidence code for review. Verb page.
do: return await $.Transaction.categorize(input)Emits Transaction.categorized.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
transaction | Transaction | required | The Transaction to code. |
account | string | The account code to use in place of the Policy’s choice. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
transaction | Transaction | required | The coded Transaction. |
account | string | required | The account code it was coded to. |
confidence | number | required | How sure the code is, from 0 to 1. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
{
"name": "do",
"arguments": {
"code": "return await $.Transaction.categorize({ transaction: 'txn_XoxtZe3CQI' })"
}
}Transaction.reconcile
Reconcile matches a Transaction on a payment rail to the ledger Entries it settles. Verb page.
do: return await $.Transaction.reconcile(input)Emits Transaction.reconciled.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
transaction | Transaction | required | The Transaction to match. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
transaction | Transaction | required | The reconciled Transaction. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
{
"name": "do",
"arguments": {
"code": "return await $.Transaction.reconcile({ transaction: 'txn_XoxtZe3CQI' })"
}
}