Skip to content
Enjoy complimentary data migration when switching from your existing bookkeeper or CPA to Institution.

Bookkeeping & finance

An accounting API returned a new field shape: stop silent defaults

Define the fields and statuses a finance integration can interpret, distinguish harmless additions from unusable records, and make unsupported changes visible before posting.

By Institution3 minute readPublished View sources
In this guide

Define what the connector must understand

A successful API response can contain data the accounting connector no longer interprets correctly. A missing amount may become zero, a new status may fall into a default posting rule, or an object may arrive where the code expected one text value. The important question is whether the finance meaning remains defined for that record.

List the fields used to decide identity, amount, currency, accounting date, status and classification. For each, record its expected structure, permitted absence and required interpretation. Keep this agreement close to the transformation code and have finance approve the business consequences of incomplete or unfamiliar values.

Validate presence, type and permitted values separately

JSON Schema's documentation distinguishes property definitions from required properties: describing a property does not automatically require it to be present. Its enum keyword restricts a value to an identified set. These mechanisms can express parts of a data contract, but the implementer must deliberately configure the contract finance needs.

For a hypothetical payment record, require an identifiable transaction and a supported amount representation before posting. Separately decide which statuses authorize which accounting treatment. A well-formed string containing an unknown status can pass a type check while remaining unusable for that decision.

Specify how omitted fields, explicit nulls and empty text differ in the transformation. Do not allow a generic fallback to convert all three into a completed zero-valued event. Where a field is optional, state which downstream calculation can proceed without it and which must wait.

References: JSON Schema: Object properties and required fields; JSON Schema: Enumerated values

Avoid treating every added field as an outage

Agree a policy for fields the integration does not consume. An unrelated additional description may be harmless, while a new status affecting settlement requires interpretation. The validation should protect financial assumptions without needlessly rejecting records for additions that cannot change those assumptions.

Keep unsupported records in a visible exception state with their source identifiers and diagnostic reason. Preserve only the raw data needed under the approved retention and access policy. The queue should distinguish a temporary retrieval failure from a response whose meaning the current connector cannot establish.

Give the exception an owner and a deadline linked to the accounting process. A connector that avoids wrong postings but quietly accumulates rejected payments still leaves finance with incomplete books. Show the affected population alongside completion reporting.

Record the version boundary that was actually used

Stripe's upgrade guidance recommends specifying the intended API version and explains how SDK and account version choices affect responses. Apply the provider's own versioning documentation to the integration in question. Record the relevant request, SDK and event configuration rather than assuming the account's displayed default describes every input.

Version pinning is one control within the contract review. Finance still needs to know how the connector handles optional fields and previously unseen permitted values. Use the related billing-period guide when the specific problem concerns Stripe subscription-item dates; this review concerns the general acceptance boundary for incoming records.

References: Stripe: Upgrade your integration and specify an API version

Prove the unsupported case cannot become a plausible posting

Create controlled examples with a missing required field, a changed numeric type, an unknown status and a harmless extra property. State the expected result for each before running the connector. Check that unsupported records remain visible and that accepted records keep their approved financial meaning.

After resolving a newly supported case, replay only the identified affected population through the established recovery procedure. Retain the revised contract, accounting decision and exception disposition. A green transport check should never be the only evidence that an unfamiliar response became a valid accounting event.

Sources

Requirements and product details can change. Check the linked guidance for the facts that apply to your situation.

Related reading

Need help with this work?

General information, not personalized accounting, tax, legal, or investment advice. Have the appropriate qualified professional review decisions that depend on your circumstances.