Reports and tax

tax.entries.review

Confirm recognition date, GST/HST treatment, supporting documentation, input tax credit eligibility and explicit CAD exchange-rate provenance for an entry. For GST/HST dated before the registration date, preRegistration records the decision: no_itc (a purchase with no input tax credit) or accountant. Requires both entry and tax-review revisions.

POST/api/v1/accounting/tax.entries.review

Permissions

accounting:readaccounting:write

Who can call it

admin, finance

Retries

Idempotency key required, with expectedRevision

MCP

Not offered over MCP: Accountants' corrections grant isn't offered over MCP yet: phase 1 is read and comment only.

Fields

  • entryIdstring (ID)Required

    The ID of an accounting entry, from entries.list or attention.mine.

  • entryRevisionintegerRequired

    The entry's current revision, from the last time you read it.

    at most 9007199254740991 · greater than 0

  • expectedRevisionintegerRequired

    The record's current revision, from the last time you read it. If someone changed the record since, the request is refused with a conflict so you can reload and check before trying again.

    0 to 9007199254740991

  • idempotencyKeystringRequired

    Any unique text you generate once per intended change, so a retried request only happens once. Send it as the Idempotency-Key header instead if you prefer; if you send both they must match.

    8–200 characters

  • recognitionDatestringRequired
  • taxPointDatestringRequired
  • itcClaimDatestring or null

    Default null

  • taxKindenumRequired
    gst_hstnoneother
  • gstHstMinorstringRequired

    An amount in cents (the currency's smallest unit), written as a whole-number string such as "1250" for $12.50.

    Whole number written as a string

  • otherSalesTaxMinorstringRequired

    An amount in cents (the currency's smallest unit), written as a whole-number string such as "1250" for $12.50.

    Whole number written as a string

  • itcBasisPointsintegerRequired

    0 to 10000

  • itcEligibilityenumRequired
    eligibleineligiblenot_applicable
  • documentCompletebooleanRequired
  • supplierRegistrationstring or null

    Default null

  • recipientNamedbooleanRequired
  • supplyDescribedbooleanRequired
  • paymentTermsPresentbooleanRequired
  • exchangeRatestring or null

    Default null

  • exchangeRateDatestring or null

    Default null

  • exchangeRateSourcestring or null

    Default null

  • preRegistrationenum or null
    no_itcaccountant
  • reasonstringRequired

    A short note saying why, kept in the record's history.

    3–2000 characters

Example

curl https://app.getoatmilk.com/api/v1/accounting/tax.entries.review \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "entryId": "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10",
  "entryRevision": 3,
  "expectedRevision": 3,
  "recognitionDate": "2026-09-30",
  "taxPointDate": "2026-09-30",
  "taxKind": "gst_hst",
  "gstHstMinor": "1250",
  "otherSalesTaxMinor": "1250",
  "itcBasisPoints": 1,
  "itcEligibility": "eligible",
  "documentComplete": true,
  "recipientNamed": true,
  "supplyDescribed": true,
  "paymentTermsPresent": true,
  "reason": "Synthetic example from the docs"
}'
Response
{
  "data": { … }
}

Try it

Try it

Checks your input with this action’s real schema and answers like the API, with synthetic data. No key needed, and nothing changes.

POST/api/v1/accounting/tax.entries.review
curl https://app.getoatmilk.com/api/v1/accounting/tax.entries.review \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "entryId": "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10",
  "entryRevision": 3,
  "expectedRevision": 3,
  "recognitionDate": "2026-09-30",
  "taxPointDate": "2026-09-30",
  "taxKind": "gst_hst",
  "gstHstMinor": "1250",
  "otherSalesTaxMinor": "1250",
  "itcBasisPoints": 1,
  "itcEligibility": "eligible",
  "documentComplete": true,
  "recipientNamed": true,
  "supplyDescribed": true,
  "paymentTermsPresent": true,
  "reason": "Synthetic example from the docs"
}'

More in Reports and tax.