Trueness

Did your Stripe sync stop working sometime after March 2025?

Paste a Stripe object below, or a list of field paths, one per line. In a few seconds you'll see exactly which fields your integration depends on that Stripe's 2025-03-31.basilrelease removed or moved. Nothing you paste leaves your browser — the check runs entirely on this page.

Check your data

This part of the page needs JavaScript. The table below works without it.

Every field Basil removed or moved

Source for every row: Stripe's own API release notes for the Basil version, cross-checked against Trueness's internal Stripe integration reference. See the source list at the bottom of this section.

ObjectFieldRemoved or movedWhere to read it in 2026Symptom in an old sync
Invoiceinvoice.chargeremovedinvoice.payments.data[n].payment.payment_intent, then PaymentIntent.latest_chargeCode reading invoice.charge gets undefined with no error. A reconciliation job that expects one charge per invoice silently drops the charge reference.
Invoiceinvoice.payment_intentremovedinvoice.payments.data[n].payment.payment_intentPayment-intent lookups keyed off invoice.payment_intent return undefined, and any code assuming a single payment intent per invoice misses the later payments on an invoice that now supports several.
Invoiceinvoice.subscriptionmovedinvoice.parent.subscription_details.subscriptionInvoices that were generated by a subscription stop showing that link. A sync that groups invoices under their subscription treats every one of them as a one-off invoice instead.
Invoiceinvoice.taxremovedsum(invoice.total_taxes[].amount)Invoice totals read as untaxed even on invoices where tax was actually collected, because the old scalar tax field is gone and the new field is an array.
Invoiceinvoice.total_tax_amountsremovedinvoice.total_taxes[]A tax breakdown table that reads invoice.total_tax_amounts renders empty rows or throws when it tries to iterate a field that no longer exists.
Invoice Line Itemline.pricemovedline.pricing.price_details.priceLine-item price lookups return undefined, and any per-line price display on an invoice goes blank.
Invoice Line Itemline.planmovedline.pricing.price_details.price (Plans are Prices)Legacy plan-based logic that reads line.plan gets undefined; Plans were folded into Prices before Basil, but the field itself is only removed as of Basil.
Invoice Line Itemline.tax_ratesmovedline.taxes[n].tax_rate_details.tax_rate (only where line.taxes[n].type is tax_rate_details)Per-line tax rate reporting goes blank, and a tax audit that lists which lines used which tax rate silently under-reports.
Invoice Line Itemline.tax_amountsmovedline.taxes[]Per-line tax amount totals read as undefined, understating the taxed portion of the invoice in any downstream rollup.
Invoice Line Itemline.amount_excluding_taxmovedline.subtotal (before discounts and taxes)A pre-tax subtotal column reads undefined, and a report that subtracts tax from the line total to reconcile it produces a wrong number instead of an obvious error.
Invoice Line Itemline.unit_amount_excluding_taxmovedline.pricing.unit_amount_decimalPer-unit price-before-tax figures disappear from any per-seat or per-unit billing report.
Invoice Line Itemline.subscription / line.subscription_itemmovedline.parent.subscription_item_details.subscription / .subscription_itemLine items stop linking back to the subscription or subscription item that generated them, breaking any per-subscription revenue grouping.
Invoice Line Itemline.prorationmovedline.parent.subscription_item_details.proration or line.parent.invoice_item_details.prorationProration lines stop being flagged as proration, so a plan-change report that filters proration lines either drops them or double-counts them as regular charges.
Credit Notecredit_note.tax_amountsmovedcredit_note.total_taxes[]A credit note's tax breakdown goes missing from any refund-reconciliation report.
Credit Note Line Itemcredit_note_line_item.tax_amountsmovedcredit_note_line_item.taxes[]Per-line credit-note tax amounts read as undefined.
Credit Notecredit_note*.amount_excluding_taxmovedcredit_note.total_excluding_tax, or the line's subtotalPre-tax credit amounts disappear from refund reports.
Credit Notecredit_note*.unit_amount_excluding_taxmovedthe line's pricing.unit_amount_decimalPer-unit pre-tax credit amounts disappear from refund reports.
Subscriptionsubscription.current_period_startremoveditems.data[n].current_period_start (each Subscription Item now carries its own period)The old single "current period" field reads undefined, and a dashboard field showing when the current billing period began goes blank.
Subscriptionsubscription.current_period_endremoveditems.data[n].current_period_end; the renewal date is max(items.data[*].current_period_end)current_period_end missing is a common symptom searched directly: a renewal-date display, a dunning trigger, or a churn-risk job that reads this field silently stops updating.
Subscriptionsubscription.coupon / subscription.promotion_coderemovedsubscription.discounts[] (stackable array)A discount report that reads the old singular coupon field shows subscriptions as having no discount at all, even when one is applied.
Couponcoupons with no specified end timeremovednot supported for new coupons; every new coupon must specify an end timeAn automation that creates open-ended coupons the way it always has starts failing on coupon creation with no explanation in the response body it used to check.
Usage records/v1/subscription_items/{id}/usage_records (legacy UsageRecords)removedBilling MetersA usage-based billing sync that posts to the legacy usage_records endpoint starts returning errors on every call.
Usage recordsrecurring.usage_type = metered, aggregate_usageremoveda Meter with default_aggregation.formulaPrice objects created the old metered way stop working with new subscriptions; usage aggregation silently falls back to nothing.
Invoice previewGET /v1/invoices/upcomingremovedPOST /v1/invoices/create_previewA next-invoice preview call that hits the old endpoint fails outright rather than returning a stale shape.
List paginationtotal_count expansion on any list endpointremovedno total count is obtainable from the API at allA page-count or record-count display that expands total_count starts showing undefined or a stale cached figure instead of updating.
Event destinationspage parameter on event destination listingremovedcursor-based paginationAn event-destination listing job that pages with the old page parameter stops advancing past the first page.

Sources. Stripe's own API release notes for the Basil version; Trueness's internal Stripe integration reference, section 2.1; Trueness growth claims register, CLM-019 (active).

Want this checked automatically, every day, against your live data?

This page is a one-time, manual check. Trueness's free Drift Report does the same kind of comparison automatically, every day, against your actual Stripe and HubSpot data — read-only, no card. It isn't installable yet. Leave your email and we'll let you know the moment it is.

Early-access sign-up opens with launch. Until then, this checker is free to use as often as you like.