Skip to content

fix(accounting)!: correct RECEIPT contract and document namespaced TaxNumberType - #846

Open
ryanduguid wants to merge 1 commit into
XeroAPI:masterfrom
ryanduguid:fix/accounting-enum-live-values
Open

fix(accounting)!: correct RECEIPT contract and document namespaced TaxNumberType#846
ryanduguid wants to merge 1 commit into
XeroAPI:masterfrom
ryanduguid:fix/accounting-enum-live-values

Conversation

@ryanduguid

@ryanduguid ryanduguid commented Aug 31, 2026

Copy link
Copy Markdown

Summary

Correct the Accounting API contract for receive-money linked transactions by adding RECEIPT to LinkedTransaction.SourceTransactionTypeCode. Document the observed TAXNUMBERTYPE/SSN form in the Contact.TaxNumberType description without changing that enum.

The branch is refreshed against upstream master at 448060d (19.0.0). The diff against that base remains confined to these accounting-spec changes.

Compatibility

The API diff correctly identifies four response-enum expansion findings for RECEIPT. Clients generated from the previous closed enum may reject that value, which is the failure reported in xero-python#206. The contribution explicitly declares this with a BREAKING CHANGE commit footer and a conventional breaking-change title. Under this repository's documented release rules, that requests major-version treatment; maintainers must review the release impact. No validation rule has been removed or weakened.

Related reports: xero-python#203 and xero-python#205. Companion runtime workaround: XeroAPI/xero-python#243.

Verification

  • bash scripts/api-diff/api-diff.test.sh: all 9 tests pass, including the explicit fail-on-breaking override.
  • git diff --check: passes.
  • Current diff against upstream reviewed: only xero_accounting.yaml changes.
  • Docker/oasdiff and the private code-generation service are unavailable locally; GitHub Actions provides those checks.

Maintainer review

Confirm that RECEIPT and the observed namespaced tax-number form match the supported Accounting API contract, and confirm the requested compatibility/version treatment before merging.

@ryanduguid

Copy link
Copy Markdown
Author

The pull-request workflow runs are currently waiting for maintainer approval. Please approve them when convenient so CI can run against this revision.

@ryanduguid ryanduguid changed the title fix(accounting): RECEIPT linked transactions and namespaced TaxNumberType fix(accounting)!: correct RECEIPT contract and document namespaced TaxNumberType Sep 5, 2026
@ryanduguid

Copy link
Copy Markdown
Author

Refreshed this PR against current master (19.0.0) at a554e23. The net diff remains the RECEIPT enum correction and TaxNumberType description.

I checked the failed API diff: all four errors are response-enum expansion findings for RECEIPT. The contribution now explicitly declares that compatibility impact using the documented BREAKING CHANGE convention and a matching PR title. Maintainers still need to confirm the major-version treatment; no validation rule has been weakened. All 9 conventional-commit logic tests pass locally.

The new OpenAPI Spec Diff Check and PR Linting runs are awaiting maintainer approval (33996696219 and 33996696243). Please approve those runs when convenient so this revision can be verified. Codegen Repo Validation is running separately.

GET Contact.TaxNumberType has been observed as TAXNUMBERTYPE/SSN.
LinkedTransaction.SourceTransactionTypeCode includes RECEIPT for
receive-money bank transactions, not only ACCPAY and SPEND.
@ryanduguid
ryanduguid force-pushed the fix/accounting-enum-live-values branch from a554e23 to 41d7f73 Compare September 6, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant