Hi I am using cloud version of airbyte and I am fa...
# help-connector-development
p
Hi I am using cloud version of airbyte and I am facing data issues. First sync works fine but subsequent syncs push junk data or bad data to my destinations. For example i am using stripe to S3 connection, in subsequent syncs i am getting invoice object in invoice line item streams, another issue i faced is in first sync i got a invoice id in charge, but in later sync same charge sent even though there were no updates in stripe but airbyte pulled the data inspite of being having a cursor as updated, and that too with wrong data that is same charge was not having any transaction id.
k
You’re running into two known classes of issues: 1. Stripe
invoice_line_items
containing invoice objects instead of line items
This matches a recently reported regression in the Stripe source connector (v5.11.0), where
invoice_line_items
started returning invoice-level data (invoice id and missing line-item fields) instead of proper line items. [[Stripe issue](https://github.com/airbytehq/airbyte/issues/59154)] The root cause was identified and fixed in a later Stripe connector release (5.12.0). [[Stripe fix](https://github.com/airbytehq/airbyte/issues/59154)] Action: - In Airbyte Cloud, check the version of your Stripe source. - If it’s 5.11.0 (or an affected version), upgrade to the latest available Stripe connector version and re-run the sync. - You will likely need to reset the affected streams (at least
invoice_line_items
) so they are re-synced with the corrected behavior. 2. Incremental syncs re-sending unchanged records / “junk” or duplicate data There are a few relevant points from the docs and forum: - Incremental syncs rely on a cursor and state; records with cursor values
<=
the stored cursor are considered already synced, and only records with cursor
>
that value should be pulled next time. [[Incremental syncs](https://docs.airbyte.com/platform/connector-development/config-based/understanding-the-yaml-file/incremental-syncs)] - For Stripe, incremental behavior is more complex because the Stripe API doesn’t natively support “updated since last sync” for all objects. Airbyte uses: - The Events API where possible, to approximate “updated” behavior. [[Stripe troubleshooting](https://docs.airbyte.com/integrations/sources/stripe#troubleshooting)] - For many streams (including
Charges
,
Invoice Line Items
,
Invoices
, etc.), an artificial
updated
cursor field managed by Airbyte. [[Stripe troubleshooting](https://docs.airbyte.com/integrations/sources/stripe#troubleshooting)] - There have been known incremental issues and fixes in Stripe streams (e.g., duplicates, incorrect incremental behavior) that required connector upgrades and sometimes a full reset. [[Stripe migration 5.0.0](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] Your symptoms: - Same charge re-sent on later syncs despite no Stripe changes This is consistent with incremental bugs that have been reported (e.g., records being re-sent even when using an
updated
cursor). [[Incremental issues forum](https://discuss.airbyte.io/t/504); [Stripe incremental issues](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] - Charge losing fields (e.g., transaction id missing on later sync) The knowledge sources confirm schema and transformation issues have occurred around Stripe updates, but they don’t give a specific root cause for missing fields in
charges
. [[Stripe migration 5.0.0](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] I’m sorry, but there’s no explicit documentation in the provided sources about this exact “transaction id disappears on later syncs” behavior. Actions to take: 1. Confirm connector version and upgrade - In Airbyte Cloud, open your Stripe source and check the version. - Upgrade to the latest Stripe connector version (this includes multiple incremental and schema fixes, including the
invoice_line_items
regression). [[Stripe fix](https://github.com/airbytehq/airbyte/issues/59154); [Stripe migration 5.0.0](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] 2. Reset and re-sync affected streams - For streams with clearly bad data (
invoice_line_items
, possibly
charges
,
invoices
), perform a “Reset data” on those connections/streams and then run a fresh sync so state and cursor are rebuilt from scratch. [[Stripe migration 5.0.0](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] 3. Check your sync mode and cursor configuration - Ensure the streams are set to Incremental with the default cursor (
updated
or the documented cursor for that stream) and that the destination mode (e.g., S3) is what you expect (Append vs Overwrite). [[Stripe troubleshooting](https://docs.airbyte.com/integrations/sources/stripe#troubleshooting); [Incremental syncs](https://docs.airbyte.com/platform/connector-development/config-based/understanding-the-yaml-file/incremental-syncs)] 4. If issues persist, open a support ticket / GitHub issue - Include: - Source connector version - Connection ID - Example record IDs (e.g., specific charge id, invoice id) - Job logs for a “good” first sync and a “bad” subsequent sync - Similar issues have been investigated and fixed via GitHub issues before. [[Stripe issue](https://github.com/airbytehq/airbyte/issues/59154)] If you share your Stripe source version and which exact streams are misbehaving (charges, invoices, invoice_line_items, others), I can help you narrow down which known fixes apply and what to reset.
p
i am already using the stripe connector version 5.15.14 @kapa.ai
i am already using the incremental append with updated cursor. still it is pulling wrong data. @kapa.ai
k
A message from kapa.ai
A message from kapa.ai
Thanks for confirming the version. Based on the provided knowledge sources, there’s no information yet about bugs specific to Stripe source 5.15.14 causing: -
invoice_line_items
to contain invoice objects, or -
charges
being re-sent with missing fields (e.g., transaction id) on later incremental syncs. The only clearly documented, similar regression is for 5.11.0 and was fixed in 5.12.0. [[Stripe 5.11 bug](https://github.com/airbytehq/airbyte/issues/59154)] Since you’re already on 5.15.14, your issue is not covered by the existing docs/issues I can see. Given that: 1. This looks like a new or unresolved bug in the Stripe connector beyond 5.12.0 (no explicit mention in the sources). 2. The connector relies on a complex incremental mechanism (Events API + artificial
updated
cursor) and has had multiple incremental and schema regressions in the past. [[Stripe troubleshooting](https://docs.airbyte.com/integrations/sources/stripe#troubleshooting); [Stripe migration guide](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] ### Recommended next steps 1. Reset and re-sync the affected streams - In your Stripe → S3 connection, reset at least: -
invoice_line_items
-
charges
- Then run a fresh sync so state and cursor are rebuilt. This is the standard remediation after Stripe connector incremental/schema fixes. [[Stripe migration guide](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] 2. Open an official support ticket / GitHub issue Since 5.15.14 is newer than the issues in the knowledge sources, you should report this so the team can investigate: - Mention you’re on Airbyte Cloud, Stripe source 5.15.14. - Describe: -
invoice_line_items
containing invoice objects. -
charges
being re-sent on incremental syncs with missing fields (e.g., transaction id). - Attach: - Example Stripe object IDs (charge id, invoice id). - Logs from: - First (correct) sync. - A subsequent (incorrect) sync. Similar prior issues (like the 5.11.0 regression) were diagnosed and fixed via GitHub issues. [[Stripe 5.11 bug](https://github.com/airbytehq/airbyte/issues/59154)] Because the knowledge sources don’t cover 5.15.14’s behavior, I can’t point to a known fix beyond these remediation steps and escalation. If you’d like, you can paste a small sample of the “bad”
invoice_line_items
and
charges
records (with IDs anonymized), and I can help you structure exactly what to include in the ticket.
You’re right that using Incremental | Append with the
updated
cursor should avoid re‑pulling unchanged data, but there are a few important limitations and known Stripe issues to be aware of. ### 1. Stripe incremental behavior is imperfect by design For many Stripe streams (including
Charges
,
Invoices
,
Invoice Line Items
), Airbyte uses an artificial
updated
cursor
and the Events API to approximate “updated since last sync”, because Stripe’s API doesn’t natively support that for all objects. [[Stripe troubleshooting](https://docs.airbyte.com/integrations/sources/stripe#troubleshooting)] This means: - Airbyte guarantees at-least-once delivery, not exactly-once. It is acceptable (and expected) that some rows are re-sent on later syncs, even if they haven’t changed. [[Inclusive cursors](https://docs.airbyte.com/platform/using-airbyte/core-concepts/sync-modes/incremental-append#inclusive-cursors)] - If the cursor value for a record is equal to the last stored cursor, it can still be emitted again (inclusive cursor). [[Inclusive cursors](https://docs.airbyte.com/platform/using-airbyte/core-concepts/sync-modes/incremental-append#inclusive-cursors)] So seeing the same charge again on a later sync is not necessarily a bug by itself; it’s part of the at‑least‑once semantics. ### 2. Known Stripe connector issues can cause “wrong” or mixed data From the sources: - There was a regression where
invoice_line_items
started returning invoice-level data
(invoice objects) instead of proper line items after a Stripe connector update. [[Stripe issue 59154](https://github.com/airbytehq/airbyte/issues/59154)] - Users reported that disabling
invoice_line_items
allowed other Stripe streams to sync correctly, confirming that schema/stream changes in that release were breaking incremental syncs. [[Stripe issue 59154](https://github.com/airbytehq/airbyte/issues/59154)] - The Stripe migration guide notes multiple incremental sync bugs that were fixed in later versions and required schema refresh + data reset (e.g., for
Refunds
,
Checkout Sessions
,
Checkout Session Line Items
, and schema changes for
Invoices
,
Subscriptions
,
SubscriptionSchedule
). [[Stripe migration 5.0.0](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] The knowledge sources do not explicitly document your exact symptom of a charge losing a transaction id on later syncs, so I can’t confirm a specific root cause for that. But they do show that: - Stripe connector updates have introduced schema and incremental bugs. - Fixes required upgrading the connector and resetting affected streams. [[Stripe migration 5.0.0](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500); [Stripe issue 59154](https://github.com/airbytehq/airbyte/issues/59154)] ### 3. What you can do now Based on the docs and issues: 1. Confirm and upgrade Stripe connector version - In Airbyte Cloud, open your Stripe source and check the version. - If you’re on a version around the known regressions (e.g., 5.11.x) or older than the migration fixes, upgrade to the latest Stripe connector. [[Stripe migration 5.0.0](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500); [Stripe issue 59154](https://github.com/airbytehq/airbyte/issues/59154)] 2. Reset and re-sync affected streams - For streams where you see clearly wrong data (
invoice_line_items
, possibly
charges
/
invoices
), perform a Reset data on those streams and run a fresh sync so the cursor state and schema are rebuilt. [[Stripe migration 5.0.0](https://docs.airbyte.com/integrations/sources/stripe-migrations#upgrading-to-500)] 3. Rely on deduplication downstream - Because incremental append uses inclusive cursors and at‑least‑once delivery, you should expect some duplicates and handle them in your destination (e.g., dedupe in your warehouse or downstream processing). [[Inclusive cursors](https://docs.airbyte.com/platform/using-airbyte/core-concepts/sync-modes/incremental-append#inclusive-cursors)] 4. If the wrong data persists after upgrade + reset - The knowledge sources don’t provide more detail on your exact case. At that point, you should open an Airbyte Cloud support ticket or GitHub issue with: - Stripe source version - Connection ID - Example Stripe object IDs (charge id, invoice id) - Job logs for a “good” first sync and a “bad” subsequent sync - Similar Stripe issues have been investigated and fixed this way. [[Stripe issue 59154](https://github.com/airbytehq/airbyte/issues/59154)] If you can share your Stripe connector version and which specific streams are still wrong after an upgrade/reset, I can map them to the closest documented issues and advise which ones to reset or temporarily disable.