Skip to content

feature/exchange-gain-loss - #215

Merged
fivetran-catfritz merged 30 commits into
release/1.9.0from
feature/exchange-gain-loss
Jul 11, 2026
Merged

feature/exchange-gain-loss#215
fivetran-catfritz merged 30 commits into
release/1.9.0from
feature/exchange-gain-loss

Conversation

@fivetran-catfritz

@fivetran-catfritz fivetran-catfritz commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

PR Overview

Package version introduced in this PR:

  • v1.9.0-a1
  • v1.9.0

This PR addresses the following Issue/Feature(s):

  • GA-1026684

Summary of changes:

  • dds realized exchange gain/loss entries to int_quickbooks__bill_payment_double_entry and int_quickbooks__payment_double_entry to capture the currency impact when a foreign currency transaction is settled at a different exchange rate than when it was originally recorded. Requires an ExchangeGainOrLoss account in QuickBooks to generate entries.

Submission Checklist

  • Alignment meeting with the reviewer (if needed)
    • Timeline and validation requirements discussed
  • Provide validation details:
    • Validation Steps: Check for unintentional effects (e.g., add/run consistency & integrity tests)
    • Testing Instructions: Confirm the change addresses the issue(s)
    • Focus Areas: Complex logic or queries that need extra attention
  • Merge any relevant open PRs into this PR

Changelog

  • Draft changelog for PR
  • Final changelog for release review

@fivetran-catfritz
fivetran-catfritz marked this pull request as draft June 26, 2026 17:45
@fivetran-catfritz fivetran-catfritz self-assigned this Jun 30, 2026
@fivetran-catfritz
fivetran-catfritz marked this pull request as ready for review June 30, 2026 19:08

@fivetran-savage fivetran-savage left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one question about the changelog but nothing to hold off approval for a pre-release.

Comment thread CHANGELOG.md Outdated
| `quickbooks__general_ledger`<br>`quickbooks__general_ledger_by_period` | New records | — | Exchange gain/loss entries | |

## Feature Update
- Adds realized exchange gain/loss entries to `int_quickbooks__bill_payment_double_entry` and `int_quickbooks__payment_double_entry` to capture the currency impact when a foreign currency transaction is settled at a different exchange rate than when it was originally recorded. Requires an `ExchangeGainOrLoss` account in QuickBooks to generate entries.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the validation, it appears to be both an account_name value and an account_sub_type value. Do we need to call that out explicitly?

@fivetran-catfritz fivetran-catfritz Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. It's the account_sub_type that is a pre-set list coming from Quickbook, and the name should follow, so yes I should clarify what field we're talking about here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated!

Comment thread CHANGELOG.md Outdated
@fivetran-catfritz fivetran-catfritz added the pre-release Triggers the auto-releaser workflow. label Jun 30, 2026
@fivetran-catfritz fivetran-catfritz added docs:ready Triggers the docs generator workflow. and removed pre-release Triggers the auto-releaser workflow. labels Jul 6, 2026

@fivetran-joemarkiewicz fivetran-joemarkiewicz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few change requests before approval. Let me know if you have any questions.

Comment thread CHANGELOG.md Outdated

## Feature Update
- Adds realized exchange gain/loss entries to `int_quickbooks__bill_payment_double_entry` and `int_quickbooks__payment_double_entry` to capture the currency impact when a foreign currency transaction is settled at a different exchange rate than when it was originally recorded. Requires an account with a subtype of `ExchangeGainOrLoss` in QuickBooks to generate entries.
- Adds the `using_exchange_gain_loss` variable (default `true`) to disable exchange gain/loss entry generation for users without multi-currency transactions or an Exchange Gain or Loss account. See the [README](https://github.com/fivetran/dbt_quickbooks/tree/main#disabling-exchange-gainloss-entries) for details.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not set this a true by default to start. This is a major new accounting shift. While I agree this is necessary for users leveraging multi-currency and have an ExchangeGainOrLoss account, this may not be relevant for all users.

Let's set this as false by default and highlight the reason you would enable this and offer the configuration for those who need it or want to try it. We can plan to swap this to true in a future release once we have full confidence in it's behavior.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given this approach, we'll need to update the various files where we set this as true by default and where we document the default behavior.

@fivetran-catfritz fivetran-catfritz added docs:ready Triggers the docs generator workflow. and removed docs:ready Triggers the docs generator workflow. labels Jul 6, 2026

@fivetran-catfritz fivetran-catfritz left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fivetran-joemarkiewicz Thank you! Made the udpates.

@fivetran-joemarkiewicz fivetran-joemarkiewicz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with a few change suggestions. Also, be sure to change the merge branch to be the release branch.

Comment thread integration_tests/ci/test_scenarios.yml Outdated
Comment thread CHANGELOG.md Outdated
Comment on lines +4 to +9
## Schema/Data Change
**2 total changes • 0 possible breaking changes**

| Data Model(s) | Change type | Old | New | Notes |
| ------------- | ----------- | --- | --- | ----- |
| `quickbooks__general_ledger`<br>`quickbooks__general_ledger_by_period` | New records | — | Exchange gain/loss entries | |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should remove this since by default there's no schema/data change. The Feature Update section can highlight this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread DECISIONLOG.md
Comment thread README.md Outdated
Comment thread DECISIONLOG.md Outdated
Co-authored-by: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com>
Co-authored-by: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com>
@fivetran-catfritz
fivetran-catfritz changed the base branch from main to release/1.9.0 July 7, 2026 15:03
@fivetran-avinash fivetran-avinash added docs:ready Triggers the docs generator workflow. and removed docs:ready Triggers the docs generator workflow. labels Jul 8, 2026
github-actions Bot and others added 8 commits July 8, 2026 08:53
Updated the CHANGELOG to reflect changes in tax line models and potential breaking changes for users. Added details about enabling tax lines and configuration requirements.
Updated the CHANGELOG to reflect new features and updates regarding tax lines and exchange gain/loss entries.
@fivetran-catfritz
fivetran-catfritz merged commit 04defae into release/1.9.0 Jul 11, 2026
2 of 9 checks passed
fivetran-avinash added a commit that referenced this pull request Jul 13, 2026
* version bump

* Feature/remaining tax lines (#212)

* Feature re: remaining tax lines

* Resolve outstanding issues

* Testing tax lines

* Schema

* Take out tax line variable, will bring in later

* Changelog, docs

* Generate dbt docs via GitHub Actions

* Fix compilation error

* table/table doc additions

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Tax lines on Quickstart

* Revert seeds to main; replace new tax-line seeds with actionable joined data

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Revert seeds

* update seed col types

* Validation test fixes

* dbt_project.yml

* Generate dbt docs via GitHub Actions

* New source relation

* Apply suggestions from code review

Co-authored-by: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com>

* PR changes

* Apply suggestions from code review

Co-authored-by: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com>

* PR requests

* float64 casting

* Apply suggestions from code review

Co-authored-by: Avinash Kunnath <108772760+fivetran-avinash@users.noreply.github.com>

* CHANGELOG

* CHANGELOG

* feature/exchange-gain-loss (#215)

* feature/exchange-gain-loss

* fixes

* decisionlog

* yml

* Apply suggestion from @fivetran-catfritz

* ad some aliases

* convert to full

* Generate dbt docs via GitHub Actions

* update vars

* update docs

* Generate dbt docs via GitHub Actions

* Apply suggestions from code review

Co-authored-by: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com>
Co-authored-by: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com>

* fix seed ids

* fix seed dupes

* put the seeds back

* restore seeds again

* restore seeds again

* restore seeds again

* update col seed types

* Generate dbt docs via GitHub Actions

* merge conflicts

* Update CHANGELOG with tax line model changes

Updated the CHANGELOG to reflect changes in tax line models and potential breaking changes for users. Added details about enabling tax lines and configuration requirements.

* Update CHANGELOG.md

* Revise CHANGELOG for new features and updates

Updated the CHANGELOG to reflect new features and updates regarding tax lines and exchange gain/loss entries.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com>

* Generate dbt docs via GitHub Actions

* Release final checks

* Generate dbt docs via GitHub Actions

* Changelog tweak

* Generate dbt docs via GitHub Actions

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Catherine Fritz <111930712+fivetran-catfritz@users.noreply.github.com>
Co-authored-by: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs:ready Triggers the docs generator workflow.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants