Skip to content

Xero: Retrieves a specific journal using a unique journal number

Xero accounting.getJournalByNumber: arguments, response, policy and SDK examples.

← Accounting operations · Get started

Operation xero.getjournalbynumber

Provider route: GET /api.xro/2.0/Journals/{JournalNumber}. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/xero with npm, or alter-sdk-xero with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { XeroIntegration } from "@alter-ai/xero";
async function execute(input: Parameters<XeroIntegration["accounting"]["getJournalByNumber"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new XeroIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.accounting.getJournalByNumber(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_xero import XeroIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = XeroIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.accounting.get_journal_by_number(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.JournalNumberintegerRequired within parent
headersobjectRequired within parentAdditional keys: not allowed
headers.xero-tenant-idstringRequired within parent

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Retrieves journals — response body

Referenced models: Retrieves journals — response body

Retrieves journals — response body
FieldTypePresenceDescription and constraints
$objectRoot
JournalsarrayOptional
Journals[]ModelEach itemExpand Retrieves journals — response body — Journals item
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item

Referenced models: Retrieves journals — response body — Journals item, Retrieves journals — response body — Warnings item

Retrieves journals — response body — Journals item
FieldTypePresenceDescription and constraints
$objectRoot
CreatedDateUTCstringOptionalCreated date UTC format
Read only: true
JournalDatestringOptionalDate the journal was posted
JournalIDstringOptionalXero identifier
Format: uuid
JournalLinesarrayOptionalSee JournalLines
JournalLines[]ModelEach itemExpand Retrieves journals — response body — Journals item Journal Lines item
JournalNumberJSONOptional
JournalNumber (anyOf 1)integerAlternativeXero generated journal number
JournalNumber (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
ReferencestringOptionalreference field for additional indetifying information
SourceIDstringOptionalThe identifier for the source transaction (e.g. InvoiceID)
Format: uuid
SourceTypestringOptionalThe journal source type. The type of transaction that created the journal
Known values: ACCREC, ACCPAY, ACCRECCREDIT, ACCPAYCREDIT, ACCRECPAYMENT, ACCPAYPAYMENT, ARCREDITPAYMENT, APCREDITPAYMENT, CASHREC, CASHPAID, TRANSFER, ARPREPAYMENT, APPREPAYMENT, AROVERPAYMENT, APOVERPAYMENT, EXPCLAIM, EXPPAYMENT, MANJOURNAL, PAYSLIP, WAGEPAYABLE, INTEGRATEDPAYROLLPE, INTEGRATEDPAYROLLPT, EXTERNALSPENDMONEY, INTEGRATEDPAYROLLPTPAYMENT, INTEGRATEDPAYROLLCN

Referenced models: Retrieves journals — response body — Journals item Journal Lines item

Retrieves journals — response body — Warnings item
FieldTypePresenceDescription and constraints
$objectRoot
MessagestringOptionalValidation error message
Retrieves journals — response body — Journals item Journal Lines item
FieldTypePresenceDescription and constraints
$objectRoot
AccountCodestringOptionalSee Accounts
AccountIDstringOptionalSee Accounts
Format: uuid
AccountNamestringOptionalSee AccountCodes
AccountTypestringOptionalSee Account Types
Known values: BANK, CURRENT, CURRLIAB, DEPRECIATN, DIRECTCOSTS, EQUITY, EXPENSE, FIXED, INVENTORY, LIABILITY, NONCURRENT, OTHERINCOME, OVERHEADS, PREPAYMENT, REVENUE, SALES, TERMLIAB, PAYG
DescriptionstringOptionalThe description from the source transaction line item. Only returned if populated.
GrossAmountJSONOptional
GrossAmount (anyOf 1)numberAlternativeGross amount of journal line (NetAmount + TaxAmount).
Format: double
GrossAmount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
JournalLineIDstringOptionalXero identifier for Journal
Format: uuid
NetAmountJSONOptional
NetAmount (anyOf 1)numberAlternativeNet amount of journal line. This will be a positive value for a debit and negative for a credit
Format: double
NetAmount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
TaxAmountJSONOptional
TaxAmount (anyOf 1)numberAlternativeTotal tax on a journal line
Format: double
Read only: true
TaxAmount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
TaxNamestringOptionalsee TaxRates
TaxTypestringOptionalThe tax type from taxRates
TrackingCategoriesarrayOptionalOptional Tracking Category – see Tracking. Any JournalLine can have a maximum of 2 <TrackingCategory> elements.
TrackingCategories[]ModelEach itemExpand Create tracking categories — response body — Tracking Categories item

Referenced models: Create tracking categories — response body — Tracking Categories item

Create tracking categories — response body — Tracking Categories item
FieldTypePresenceDescription and constraints
$objectRoot
NamestringOptionalThe name of the tracking category e.g. Department, Region (max length = 100)
Maximum length: 100
OptionstringOptionalThe option name of the tracking option e.g. East, West (max length = 100)
Maximum length: 100
OptionsarrayOptionalSee Tracking Options
Options[]ModelEach itemExpand Creates options for a specific tracking category — response body — Options item
StatusstringOptionalThe status of a tracking category
Known values: ACTIVE, ARCHIVED, DELETED
TrackingCategoryIDstringOptionalThe Xero identifier for a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
TrackingOptionIDstringOptionalThe Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f
Format: uuid

Referenced models: Creates options for a specific tracking category — response body — Options item

Creates options for a specific tracking category — response body — Options item
FieldTypePresenceDescription and constraints
$objectRoot
NamestringOptionalThe name of the tracking option e.g. Marketing, East (max length = 100)
Maximum length: 100
StatusstringOptionalThe status of a tracking option
Known values: ACTIVE, ARCHIVED, DELETED
TrackingCategoryIDstringOptionalFilter by a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9
Format: uuid
TrackingOptionIDstringOptionalThe Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a
Format: uuid

SDK function policy ID: xero.getjournalbynumber. Catalog operation: getJournal. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.