@accounter/server
Version:
Accounter GraphQL server
5,785 lines • 400 kB
Markdown
# @accounter/server
## 0.0.12-alpha-20260520130159-603778471d81f1f26e0bbcf4170e01e8a1f2fc86
### Patch Changes
- [#3276](https://github.com/Urigo/accounter-fullstack/pull/3276)
[`6edc9b2`](https://github.com/Urigo/accounter-fullstack/commit/6edc9b27187a9b891b58ae08abdbddff9dcb1fde)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.21.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.21.0)
(from `3.18.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.21.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.21.0) (from `5.18.1`,
in `dependencies`)
- [#3277](https://github.com/Urigo/accounter-fullstack/pull/3277)
[`a584921`](https://github.com/Urigo/accounter-fullstack/commit/a58492135ab1cac146b0a04885bc968b5c5579e8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv@17.4.1` ↗︎](https://www.npmjs.com/package/dotenv/v/17.4.1) (from
`17.3.1`, in `dependencies`)
- [#3281](https://github.com/Urigo/accounter-fullstack/pull/3281)
[`917f31e`](https://github.com/Urigo/accounter-fullstack/commit/917f31e956d267704f6d74fb7f3a22d366062135)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.66` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.66) (from
`3.0.64`, in `dependencies`)
- Updated dependency [`ai@6.0.146` ↗︎](https://www.npmjs.com/package/ai/v/6.0.146) (from `6.0.141`,
in `dependencies`)
- Updated dependency [`playwright@1.59.1` ↗︎](https://www.npmjs.com/package/playwright/v/1.59.1)
(from `1.59.0`, in `dependencies`)
- [`623ed2b`](https://github.com/Urigo/accounter-fullstack/commit/623ed2b39788764e206241a9c3a628dfec25889e)
Thanks [@renovate[bot]](https://github.com/renovate%5Bbot%5D)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.68` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.68) (from
`3.0.66`, in `dependencies`)
- Updated dependency
[`@graphql-tools/utils@11.0.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/11.0.1)
(from `11.0.0`, in `dependencies`)
- Updated dependency [`ai@6.0.154` ↗︎](https://www.npmjs.com/package/ai/v/6.0.154) (from `6.0.146`,
in `dependencies`)
- [`82f07c2`](https://github.com/Urigo/accounter-fullstack/commit/82f07c25cd88fbcef8d29ef3d32230cfce168caa)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.21.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.21.0)
(from `3.18.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.21.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.21.0) (from `5.18.1`,
in `dependencies`)
- [`49651b7`](https://github.com/Urigo/accounter-fullstack/commit/49651b79e6b2cd8b1c01d4c10d12f3be43859d99)
Thanks [@renovate[bot]](https://github.com/renovate%5Bbot%5D)! - dependencies updates:
- Updated dependency [`auth0@5.6.0` ↗︎](https://www.npmjs.com/package/auth0/v/5.6.0) (from `5.5.0`,
in `dependencies`)
- [#3309](https://github.com/Urigo/accounter-fullstack/pull/3309)
[`7b2c89c`](https://github.com/Urigo/accounter-fullstack/commit/7b2c89c6b655a4f8337d202aecefc688ec99af14)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.69` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.69) (from
`3.0.68`, in `dependencies`)
- Updated dependency [`ai@6.0.158` ↗︎](https://www.npmjs.com/package/ai/v/6.0.158) (from `6.0.154`,
in `dependencies`)
- Updated dependency [`dotenv@17.4.2` ↗︎](https://www.npmjs.com/package/dotenv/v/17.4.2) (from
`17.4.1`, in `dependencies`)
- [#3331](https://github.com/Urigo/accounter-fullstack/pull/3331)
[`28718a0`](https://github.com/Urigo/accounter-fullstack/commit/28718a0a0985ebb2a12c6c6dce8301285d420858)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.69` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.69) (from
`3.0.68`, in `dependencies`)
- Updated dependency [`ai@6.0.158` ↗︎](https://www.npmjs.com/package/ai/v/6.0.158) (from `6.0.154`,
in `dependencies`)
- Updated dependency [`dotenv@17.4.2` ↗︎](https://www.npmjs.com/package/dotenv/v/17.4.2) (from
`17.4.1`, in `dependencies`)
- [#3333](https://github.com/Urigo/accounter-fullstack/pull/3333)
[`a5e6d19`](https://github.com/Urigo/accounter-fullstack/commit/a5e6d19bf96173dde9097985a8df0065b9c3e499)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.71` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.71) (from
`3.0.69`, in `dependencies`)
- Updated dependency [`ai@6.0.168` ↗︎](https://www.npmjs.com/package/ai/v/6.0.168) (from `6.0.158`,
in `dependencies`)
- [#3355](https://github.com/Urigo/accounter-fullstack/pull/3355)
[`e4eaa04`](https://github.com/Urigo/accounter-fullstack/commit/e4eaa04de797962d545890b92a84bb9b76acf5bf)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`auth0@5.7.0` ↗︎](https://www.npmjs.com/package/auth0/v/5.7.0) (from `5.6.0`,
in `dependencies`)
- [#3356](https://github.com/Urigo/accounter-fullstack/pull/3356)
[`87afe7a`](https://github.com/Urigo/accounter-fullstack/commit/87afe7a48b76506079e792f492618d53bb6c36fa)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@opentelemetry/exporter-trace-otlp-http@0.215.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-http/v/0.215.0)
(from `0.214.0`, in `dependencies`)
- Updated dependency
[`@opentelemetry/resources@2.7.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/resources/v/2.7.0)
(from `2.6.1`, in `dependencies`)
- Updated dependency
[`@opentelemetry/sdk-node@0.215.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-node/v/0.215.0)
(from `0.214.0`, in `dependencies`)
- [#3357](https://github.com/Urigo/accounter-fullstack/pull/3357)
[`f1c33df`](https://github.com/Urigo/accounter-fullstack/commit/f1c33df3dee170eefa5f8b6c3c15f5ae0e1d1705)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@opentelemetry/auto-instrumentations-node@0.73.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node/v/0.73.0)
(from `0.72.0`, in `dependencies`)
- [#3387](https://github.com/Urigo/accounter-fullstack/pull/3387)
[`46f9fc5`](https://github.com/Urigo/accounter-fullstack/commit/46f9fc5592590a765770592efab440a0374e9bde)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`auth0@5.8.0` ↗︎](https://www.npmjs.com/package/auth0/v/5.8.0) (from `5.7.0`,
in `dependencies`)
- [#3399](https://github.com/Urigo/accounter-fullstack/pull/3399)
[`2310fd3`](https://github.com/Urigo/accounter-fullstack/commit/2310fd3f4737e939491b095457267389625b1d35)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-tools/utils@11.1.0` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/11.1.0)
(from `11.0.1`, in `dependencies`)
- [#3406](https://github.com/Urigo/accounter-fullstack/pull/3406)
[`40cbee3`](https://github.com/Urigo/accounter-fullstack/commit/40cbee3b08a16be72e526d3f001d1f2dee3d5dd0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.10.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.10.0)
(from `2.9.0`, in `dependencies`)
- [#3421](https://github.com/Urigo/accounter-fullstack/pull/3421)
[`85390ee`](https://github.com/Urigo/accounter-fullstack/commit/85390ee74f9f84247d572150236acdf95a378740)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`jose@6.2.3` ↗︎](https://www.npmjs.com/package/jose/v/6.2.3) (from `6.2.2`,
in `dependencies`)
- [#3434](https://github.com/Urigo/accounter-fullstack/pull/3434)
[`42e1646`](https://github.com/Urigo/accounter-fullstack/commit/42e1646407fd0c620d4558244770daeb920dc36c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.72` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.72) (from
`3.0.71`, in `dependencies`)
- Updated dependency [`ai@6.0.169` ↗︎](https://www.npmjs.com/package/ai/v/6.0.169) (from `6.0.168`,
in `dependencies`)
- [#3437](https://github.com/Urigo/accounter-fullstack/pull/3437)
[`7e7c2aa`](https://github.com/Urigo/accounter-fullstack/commit/7e7c2aa5d2154b06962a1efa984c3941fc621d66)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@opentelemetry/auto-instrumentations-node@0.74.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node/v/0.74.0)
(from `0.73.0`, in `dependencies`)
- [#3438](https://github.com/Urigo/accounter-fullstack/pull/3438)
[`632c726`](https://github.com/Urigo/accounter-fullstack/commit/632c7265ef63af3a41fab9d96d2b256ba733aa9d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@opentelemetry/exporter-trace-otlp-http@0.216.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-http/v/0.216.0)
(from `0.215.0`, in `dependencies`)
- Updated dependency
[`@opentelemetry/sdk-node@0.216.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-node/v/0.216.0)
(from `0.215.0`, in `dependencies`)
- [#3440](https://github.com/Urigo/accounter-fullstack/pull/3440)
[`1ad8a10`](https://github.com/Urigo/accounter-fullstack/commit/1ad8a10f3dd92b38c04ccea15b90cc7f9dc43887)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@4.4.2` ↗︎](https://www.npmjs.com/package/zod/v/4.4.2) (from `4.3.6`, in
`dependencies`)
- [#3441](https://github.com/Urigo/accounter-fullstack/pull/3441)
[`2f426cb`](https://github.com/Urigo/accounter-fullstack/commit/2f426cb804fc51c05a06a1e4b6a38bb11a71981f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`auth0@5.9.0` ↗︎](https://www.npmjs.com/package/auth0/v/5.9.0) (from `5.8.0`,
in `dependencies`)
- [#3454](https://github.com/Urigo/accounter-fullstack/pull/3454)
[`0b654ef`](https://github.com/Urigo/accounter-fullstack/commit/0b654ef08495e1632ccc75942d6a1a3142924d9f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.75` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.75) (from
`3.0.72`, in `dependencies`)
- Updated dependency
[`@opentelemetry/resources@2.7.1` ↗︎](https://www.npmjs.com/package/@opentelemetry/resources/v/2.7.1)
(from `2.7.0`, in `dependencies`)
- Updated dependency [`ai@6.0.175` ↗︎](https://www.npmjs.com/package/ai/v/6.0.175) (from `6.0.169`,
in `dependencies`)
- Updated dependency [`auth0@5.9.1` ↗︎](https://www.npmjs.com/package/auth0/v/5.9.1) (from `5.9.0`,
in `dependencies`)
- Updated dependency [`zod@4.4.3` ↗︎](https://www.npmjs.com/package/zod/v/4.4.3) (from `4.4.2`, in
`dependencies`)
- [#3478](https://github.com/Urigo/accounter-fullstack/pull/3478)
[`8425d70`](https://github.com/Urigo/accounter-fullstack/commit/8425d70751f1abbbd1195d45fc1ee86ee2f7a49a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@opentelemetry/auto-instrumentations-node@0.75.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node/v/0.75.0)
(from `0.74.0`, in `dependencies`)
- [#3479](https://github.com/Urigo/accounter-fullstack/pull/3479)
[`1bf66e2`](https://github.com/Urigo/accounter-fullstack/commit/1bf66e264e8ea2d3c1b75cab8097dc583205cf67)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql@16.14.0` ↗︎](https://www.npmjs.com/package/graphql/v/16.14.0) (from
`16.13.2`, in `dependencies`)
- [#3480](https://github.com/Urigo/accounter-fullstack/pull/3480)
[`3c07e11`](https://github.com/Urigo/accounter-fullstack/commit/3c07e11ca246b78f66d23a9f588e38f4190d44ff)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@opentelemetry/exporter-trace-otlp-http@0.217.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-http/v/0.217.0)
(from `0.216.0`, in `dependencies`)
- Updated dependency
[`@opentelemetry/sdk-node@0.217.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-node/v/0.217.0)
(from `0.216.0`, in `dependencies`)
- [#3503](https://github.com/Urigo/accounter-fullstack/pull/3503)
[`dab1752`](https://github.com/Urigo/accounter-fullstack/commit/dab17529ee68305203d59d8a195763191baea3d5)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.76` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.76) (from
`3.0.75`, in `dependencies`)
- Updated dependency [`ai@6.0.177` ↗︎](https://www.npmjs.com/package/ai/v/6.0.177) (from `6.0.175`,
in `dependencies`)
- [#3506](https://github.com/Urigo/accounter-fullstack/pull/3506)
[`b68dc3a`](https://github.com/Urigo/accounter-fullstack/commit/b68dc3ab5b3653de616077734ffa6ae9401d4307)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.76` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.76) (from
`3.0.75`, in `dependencies`)
- Updated dependency [`ai@6.0.177` ↗︎](https://www.npmjs.com/package/ai/v/6.0.177) (from `6.0.175`,
in `dependencies`)
- [#3523](https://github.com/Urigo/accounter-fullstack/pull/3523)
[`0766292`](https://github.com/Urigo/accounter-fullstack/commit/076629232304ce0849cbe7ed482490f4fb7142d3)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`playwright@1.60.0` ↗︎](https://www.npmjs.com/package/playwright/v/1.60.0)
(from `1.59.1`, in `dependencies`)
- [#3529](https://github.com/Urigo/accounter-fullstack/pull/3529)
[`c5fa247`](https://github.com/Urigo/accounter-fullstack/commit/c5fa2473b65541be39353e33f981fb6421bb2067)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@opentelemetry/exporter-trace-otlp-http@0.218.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-http/v/0.218.0)
(from `0.217.0`, in `dependencies`)
- Updated dependency
[`@opentelemetry/sdk-node@0.218.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-node/v/0.218.0)
(from `0.217.0`, in `dependencies`)
- Updated dependency
[`@opentelemetry/semantic-conventions@1.41.1` ↗︎](https://www.npmjs.com/package/@opentelemetry/semantic-conventions/v/1.41.1)
(from `1.40.0`, in `dependencies`)
- [#3533](https://github.com/Urigo/accounter-fullstack/pull/3533)
[`26e9fe8`](https://github.com/Urigo/accounter-fullstack/commit/26e9fe8afc31b5b2c01e7248a8cf665e4c541ef8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`auth0@5.10.0` ↗︎](https://www.npmjs.com/package/auth0/v/5.10.0) (from
`5.9.1`, in `dependencies`)
- [#3534](https://github.com/Urigo/accounter-fullstack/pull/3534)
[`54c0e4b`](https://github.com/Urigo/accounter-fullstack/commit/54c0e4b840e1efea5744647745a1b031cfa0f5de)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.77` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.77) (from
`3.0.76`, in `dependencies`)
- Updated dependency [`ai@6.0.180` ↗︎](https://www.npmjs.com/package/ai/v/6.0.180) (from `6.0.177`,
in `dependencies`)
- [#3535](https://github.com/Urigo/accounter-fullstack/pull/3535)
[`e5bd5da`](https://github.com/Urigo/accounter-fullstack/commit/e5bd5da7521a7b114f383334433d61ea5b552d52)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@opentelemetry/auto-instrumentations-node@0.76.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node/v/0.76.0)
(from `0.75.0`, in `dependencies`)
- [#3536](https://github.com/Urigo/accounter-fullstack/pull/3536)
[`c4ea865`](https://github.com/Urigo/accounter-fullstack/commit/c4ea865b58cf1d25c32aca53f71b69cff0252504)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.78` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.78) (from
`3.0.77`, in `dependencies`)
- Updated dependency [`ai@6.0.184` ↗︎](https://www.npmjs.com/package/ai/v/6.0.184) (from `6.0.180`,
in `dependencies`)
- [#3548](https://github.com/Urigo/accounter-fullstack/pull/3548)
[`c6555f5`](https://github.com/Urigo/accounter-fullstack/commit/c6555f5d6a731b05f26ae58a47c485a905e4ec55)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`date-fns@4.2.1` ↗︎](https://www.npmjs.com/package/date-fns/v/4.2.1) (from
`4.1.0`, in `dependencies`)
- [#3549](https://github.com/Urigo/accounter-fullstack/pull/3549)
[`53a4629`](https://github.com/Urigo/accounter-fullstack/commit/53a4629c4cd2ce346f4a8740117994f3f0913981)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.21.0` ↗︎](https://www.npmjs.com/package/pg/v/8.21.0) (from `8.20.0`, in
`dependencies`)
- [#3551](https://github.com/Urigo/accounter-fullstack/pull/3551)
[`9d9ce57`](https://github.com/Urigo/accounter-fullstack/commit/9d9ce57f4058c0d66b8c1ea383030a57692fe607)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`date-fns@4.2.1` ↗︎](https://www.npmjs.com/package/date-fns/v/4.2.1) (from
`4.1.0`, in `dependencies`)
- Updated dependency [`pg@8.21.0` ↗︎](https://www.npmjs.com/package/pg/v/8.21.0) (from `8.20.0`, in
`dependencies`)
- [#3532](https://github.com/Urigo/accounter-fullstack/pull/3532)
[`2aaf98f`](https://github.com/Urigo/accounter-fullstack/commit/2aaf98f3ae68b26f367e179d99447c5ce04fd67f)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Add per-tenant provider credentials system
with encrypted storage. Includes a new `provider_credentials` database table, AES-256-GCM
encryption helpers, payload schemas for credential types, a `ProviderCredentialsProvider` with
full CRUD operations, and a GraphQL module exposing queries and mutations for managing provider
credentials per tenant.
- [#3324](https://github.com/Urigo/accounter-fullstack/pull/3324)
[`c83b2b8`](https://github.com/Urigo/accounter-fullstack/commit/c83b2b83326b8bedd10070ced91c2aa271ef4b0d)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Update**: Added an
`is_locked` column to the `dynamic_report_templates` table to support template locking
functionality.
- **New Annual Audit Step**: Implemented Step 09 in the annual audit flow, allowing users to
select and lock a final dynamic report template for a specific fiscal year.
- **Template Management**: Added new mutations and provider methods to lock and unlock dynamic
report templates, with logic to prevent modification of locked templates.
- **Audit Status Tracking**: Enhanced the `annual_audit_step_status` table to include an
`evidence_json` field for storing step-specific metadata, such as the locked template name.
- [#3330](https://github.com/Urigo/accounter-fullstack/pull/3330)
[`6557915`](https://github.com/Urigo/accounter-fullstack/commit/6557915a9be166ab3959525adfcfe75c90ccf1b7)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Annual Audit Steps**: Implemented
Step 10 (Export Trial Balance) and Step 11 (Depreciation Report) into the annual audit workflow.
- **Shared Logic Abstraction**: Introduced a reusable hook `useSetAnnualAuditStepStatus` to
centralize status update logic and added utility functions for depreciation report filters.
- **Enhanced Reporting**: Added PDF printing capabilities to the depreciation report and updated
routing to support dynamic filter parameters.
- [#3527](https://github.com/Urigo/accounter-fullstack/pull/3527)
[`0543dc3`](https://github.com/Urigo/accounter-fullstack/commit/0543dc39d252524120bfb70890e21fc0c191d317)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Super-Admin Infrastructure**:
Introduced a `super_admins` database table and associated RLS policies to manage platform-level
administrative privileges, preventing unauthorized self-promotion.
- **Client Onboarding**: Implemented the `bootstrapNewClient` GraphQL mutation, enabling the
automated, transactional provisioning of new client tenants, including business entities, tax
categories, and user contexts.
- **Security & RLS Enhancements**: Refined Row-Level Security (RLS) policies to support the
bootstrap flow, including a root-level insert policy and read-only access for super-admin
verification.
- **Code Refactoring**: Moved deterministic UUID generation to a shared utility module and
introduced `EntityEnsureProvider` to standardize the creation of financial entities across the
system.
- [#3315](https://github.com/Urigo/accounter-fullstack/pull/3315)
[`6147f4f`](https://github.com/Urigo/accounter-fullstack/commit/6147f4f271db1f76e54185c679a7ca65f0f59f06)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema**: Added a new table
`annual_audit_step_status` to track the status of annual audit steps, including support for notes
and evidence.
- **GraphQL Module**: Introduced a new `annual_audit` GraphQL module to manage audit step
statuses, including queries for fetching statuses and mutations for updating them.
- [#3462](https://github.com/Urigo/accounter-fullstack/pull/3462)
[`37ab0a3`](https://github.com/Urigo/accounter-fullstack/commit/37ab0a37e8a8cbe600d19322470a360ea909659f)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Scraper Ingestion Module**:
Introduced a new server module to handle scraper data ingestion, including GraphQL resolvers,
providers, and type definitions.
- **Database Migrations**: Added new database migrations to implement unique constraints for
various transaction tables to improve data deduplication.
- **Validation Logic**: Implemented helper functions to validate and map incoming transaction data
from various scrapers before database insertion.
- [#3327](https://github.com/Urigo/accounter-fullstack/pull/3327)
[`9f8c7d3`](https://github.com/Urigo/accounter-fullstack/commit/9f8c7d3e03c40e33ed700ddfcc4536efa07dc895)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Refactoring**:
Introduced a dedicated `bank_deposits` table to centralize deposit information, moving fields like
`account_id` out of the `charges_bank_deposits` junction table.
- **GraphQL API Updates**: Updated GraphQL queries and mutations to support the new
`bank_deposits` structure, including new fields for deposit metadata and improved deposit
creation flows.
- **Enhanced Deposit Management**: Added new hooks and logic to better handle relevant deposits
for charges, including conflict detection and improved assignment workflows.
- [#3317](https://github.com/Urigo/accounter-fullstack/pull/3317)
[`9a2e63f`](https://github.com/Urigo/accounter-fullstack/commit/9a2e63feb0769e4ddc776ec8584031c5fbfcabea)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Opening Balance Step Activation**:
Implemented the logic and UI for the 'Opening Balance' step in the annual audit flow, including
user type classification (New, Migrating, Continuing).
- **Backend Integration**: Added a new GraphQL query to fetch the opening balance status and a
mutation to save accountant approvals for this step.
- **UI Components**: Introduced new UI components, including an 'ApprovalControl' for status
updates and an 'Alert' component for displaying configuration or status information.
- [#3466](https://github.com/Urigo/accounter-fullstack/pull/3466)
[`249ad87`](https://github.com/Urigo/accounter-fullstack/commit/249ad87809e104c6c0ffc02971f3cee5dac478b1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Scraper Enhancements**: Updated
currency rate and Poalim scrapers to accept specific date ranges, improving flexibility and data
accuracy.
- **Transaction Ingestion Logic**: Implemented advanced transaction diffing and change detection
for Isracard, Amex, and currency rates to identify updates to existing records rather than just
inserting new ones.
- **Data Type Normalization**: Standardized card identifiers to strings across the ingestion
pipeline and updated GraphQL schemas to reflect these changes.
- [#3545](https://github.com/Urigo/accounter-fullstack/pull/3545)
[`2547440`](https://github.com/Urigo/accounter-fullstack/commit/2547440d87a6ec572af1912997825024b78983e5)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - adds
`updateDeposit(id, name?, openDate?, closeDate?)` GraphQL mutation — merges provided fields with
existing record so omitted fields are preserved. The provider's `updateBankDeposit` method was
already in place; only the schema and resolver were missing.
- [`82f07c2`](https://github.com/Urigo/accounter-fullstack/commit/82f07c25cd88fbcef8d29ef3d32230cfce168caa)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Developer Authentication Bypass**:
Introduced a new development-only authentication mechanism that allows bypassing Auth0. This
enables developers to impersonate seeded demo users by setting specific environment variables and
passing an `X-Dev-Auth` header.
- **Client-Side Integration**: Modified the client application to conditionally use the new dev
authentication flow, affecting how authentication tokens are provided to URQL and how user
context and protected routes are handled. New environment variables (`VITE_DEV_AUTH`,
`VITE_DEV_AUTH_USER_ID`) were added for client-side configuration.
- **Server-Side Authentication Plugin**: Updated the server's authentication plugin to detect and
prioritize the `X-Dev-Auth` header when the `ALLOW_DEV_AUTH` environment variable is enabled. A
new `handleDevBypassAuth` function was implemented to resolve user context based on the provided
user ID from the dev auth header.
- **Enhanced Demo Data Seeding**: The demo data seeding script (`seed-demo-data.ts`) was updated
to automatically seed deterministic demo users (admin and accountant) and print their IDs. This
facilitates easy setup for local development using the new dev authentication bypass.
- **Documentation Update**: The `demo-staging-guide.md` documentation was updated with clear
instructions on how to set up and use the local development authentication bypass, including
environment variable configuration and role switching.
- [#3311](https://github.com/Urigo/accounter-fullstack/pull/3311)
[`b201e9e`](https://github.com/Urigo/accounter-fullstack/commit/b201e9eae9a6c8be4d3aba338448cffc40403956)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Update**: Added
'date_established' and 'initial_accounter_year' columns to the 'user_context' table via a new
migration.
- **API and Type Updates**: Updated GraphQL type definitions, resolvers, and internal TypeScript
types to include the new business context fields.
- **Testing**: Updated integration tests and context builders to support and verify the new
business date fields.
- [`1388d18`](https://github.com/Urigo/accounter-fullstack/commit/1388d1853c367ea777f79aa2f72970c05a46a2ba)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Claude Code Configuration**: Added
comprehensive configuration for Claude Code, including root instructions, path-scoped rules, and
team-shared settings to ensure consistent behavior across the monorepo.
- **Domain-Specific Skills and Agents**: Implemented custom skills for issue fixing and GraphQL
module management, along with specialized agents for code review and schema analysis to improve
developer productivity.
- **Package-Level Conventions**: Introduced package-specific CLAUDE.md files for server and client
packages to provide targeted guidance on architecture, testing, and development workflows.
- **Slash Commands**: Added slash commands for common tasks like scaffolding new GraphQL modules,
running code generation, and executing module-specific tests.
- [#3385](https://github.com/Urigo/accounter-fullstack/pull/3385)
[`ad314b8`](https://github.com/Urigo/accounter-fullstack/commit/ad314b85a198434e55aa302b09cb3581032e8b7e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Backend Schema Migration**: Updated the
GraphQL schema and Zod validation to use an explicit-node format, replacing legacy hint arrays
with a clear nodeType-based structure.
- **Legacy Template Migration**: Implemented an in-memory migration helper to automatically
convert legacy templates to the new explicit-leaf format upon loading.
- **Tree Data Model**: Refactored the report tree to treat financial entities as explicit leaf
nodes, ensuring consistent state management and single-presence enforcement.
- Updated dependencies
[[`917f31e`](https://github.com/Urigo/accounter-fullstack/commit/917f31e956d267704f6d74fb7f3a22d366062135),
[`623ed2b`](https://github.com/Urigo/accounter-fullstack/commit/623ed2b39788764e206241a9c3a628dfec25889e),
[`a5e6d19`](https://github.com/Urigo/accounter-fullstack/commit/a5e6d19bf96173dde9097985a8df0065b9c3e499),
[`bc2920d`](https://github.com/Urigo/accounter-fullstack/commit/bc2920d07ce3071c37ad8d3e2d733c9d8414e626),
[`0b654ef`](https://github.com/Urigo/accounter-fullstack/commit/0b654ef08495e1632ccc75942d6a1a3142924d9f),
[`1bf66e2`](https://github.com/Urigo/accounter-fullstack/commit/1bf66e264e8ea2d3c1b75cab8097dc583205cf67),
[`1ad8a10`](https://github.com/Urigo/accounter-fullstack/commit/1ad8a10f3dd92b38c04ccea15b90cc7f9dc43887),
[`0b654ef`](https://github.com/Urigo/accounter-fullstack/commit/0b654ef08495e1632ccc75942d6a1a3142924d9f),
[`1ad8a10`](https://github.com/Urigo/accounter-fullstack/commit/1ad8a10f3dd92b38c04ccea15b90cc7f9dc43887),
[`0b654ef`](https://github.com/Urigo/accounter-fullstack/commit/0b654ef08495e1632ccc75942d6a1a3142924d9f),
[`1ad8a10`](https://github.com/Urigo/accounter-fullstack/commit/1ad8a10f3dd92b38c04ccea15b90cc7f9dc43887),
[`0b654ef`](https://github.com/Urigo/accounter-fullstack/commit/0b654ef08495e1632ccc75942d6a1a3142924d9f),
[`161c8f9`](https://github.com/Urigo/accounter-fullstack/commit/161c8f9a5bc755a488b1a14125c2c14425765e59)]:
- @accounter/green-invoice-graphql@0.8.6-alpha-20260520130159-603778471d81f1f26e0bbcf4170e01e8a1f2fc86
- @accounter/pcn874-generator@0.6.7-alpha-20260520130159-603778471d81f1f26e0bbcf4170e01e8a1f2fc86
- @accounter/shaam-uniform-format-generator@0.2.6-alpha-20260520130159-603778471d81f1f26e0bbcf4170e01e8a1f2fc86
- @accounter/shaam6111-generator@0.1.8-alpha-20260520130159-603778471d81f1f26e0bbcf4170e01e8a1f2fc86
## 0.0.11
### Patch Changes
- [#3034](https://github.com/Urigo/accounter-fullstack/pull/3034)
[`88e8bb9`](https://github.com/Urigo/accounter-fullstack/commit/88e8bb914be1965333e0b899537562c8877782a1)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.12` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.12) (from
`1.2.11`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.42.1` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.42.1) (from
`0.42.0`, in `dependencies`)
- Updated dependency [`zod@3.25.28` ↗︎](https://www.npmjs.com/package/zod/v/3.25.28) (from
`3.25.14`, in `dependencies`)
- [#2954](https://github.com/Urigo/accounter-fullstack/pull/2954)
[`79fef66`](https://github.com/Urigo/accounter-fullstack/commit/79fef668ca7a7f2b2411ae5f5d4d0bdc5bb2fa2b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.23` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.23) (from
`3.0.17`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.47.1` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.47.1) (from
`0.47.0`, in `dependencies`)
- Updated dependency [`ai@6.0.49` ↗︎](https://www.npmjs.com/package/ai/v/6.0.49) (from `6.0.42`, in
`dependencies`)
- Updated dependency [`zod@4.3.6` ↗︎](https://www.npmjs.com/package/zod/v/4.3.6) (from `4.3.5`, in
`dependencies`)
- [#2962](https://github.com/Urigo/accounter-fullstack/pull/2962)
[`8dca87f`](https://github.com/Urigo/accounter-fullstack/commit/8dca87f957b5cbb1ee3c4683a8e785fa442d44bb)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`playwright@1.58.0` ↗︎](https://www.npmjs.com/package/playwright/v/1.58.0)
(from `1.57.0`, in `dependencies`)
- [#2978](https://github.com/Urigo/accounter-fullstack/pull/2978)
[`8f6d661`](https://github.com/Urigo/accounter-fullstack/commit/8f6d66108bd088388673e7cd53d1c1016d03c762)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@6.0.50` ↗︎](https://www.npmjs.com/package/ai/v/6.0.50) (from `6.0.49`, in
`dependencies`)
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.39` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.39) (from
`3.0.36`, in `dependencies`)
- Updated dependency [`ai@6.0.77` ↗︎](https://www.npmjs.com/package/ai/v/6.0.77) (from `6.0.70`, in
`dependencies`)
- Updated dependency [`dotenv@17.2.4` ↗︎](https://www.npmjs.com/package/dotenv/v/17.2.4) (from
`17.2.3`, in `dependencies`)
- Updated dependency [`googleapis@171.4.0` ↗︎](https://www.npmjs.com/package/googleapis/v/171.4.0)
(from `171.3.0`, in `dependencies`)
- Updated dependency [`playwright@1.58.2` ↗︎](https://www.npmjs.com/package/playwright/v/1.58.2)
(from `1.58.1`, in `dependencies`)
- Added dependency [`jose@6.1.3` ↗︎](https://www.npmjs.com/package/jose/v/6.1.3) (to
`dependencies`)
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`jose@6.1.3` ↗︎](https://www.npmjs.com/package/jose/v/6.1.3) (to
`dependencies`)
- [#2988](https://github.com/Urigo/accounter-fullstack/pull/2988)
[`3c2df4f`](https://github.com/Urigo/accounter-fullstack/commit/3c2df4f4cb79ec90fc5cfe372f7cede5e56f27e7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.36` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.36) (from
`3.0.23`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.47.2` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.47.2) (from
`0.47.1`, in `dependencies`)
- Updated dependency [`ai@6.0.69` ↗︎](https://www.npmjs.com/package/ai/v/6.0.69) (from `6.0.50`, in
`dependencies`)
- Updated dependency [`playwright@1.58.1` ↗︎](https://www.npmjs.com/package/playwright/v/1.58.1)
(from `1.58.0`, in `dependencies`)
- [#2989](https://github.com/Urigo/accounter-fullstack/pull/2989)
[`bb647ea`](https://github.com/Urigo/accounter-fullstack/commit/bb647eaa753e23431bc21994f4c4887002530b72)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@171.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/171.0.0)
(from `170.1.0`, in `dependencies`)
- [#2990](https://github.com/Urigo/accounter-fullstack/pull/2990)
[`357ab5a`](https://github.com/Urigo/accounter-fullstack/commit/357ab5ac83c0735c7a8dd1f6963b77cbba84ee29)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.18.0` ↗︎](https://www.npmjs.com/package/pg/v/8.18.0) (from `8.17.2`, in
`dependencies`)
- [#2998](https://github.com/Urigo/accounter-fullstack/pull/2998)
[`11736c9`](https://github.com/Urigo/accounter-fullstack/commit/11736c9dd2b065f4a78da3a31fa5bf3d37f2ad54)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@171.2.0` ↗︎](https://www.npmjs.com/package/googleapis/v/171.2.0)
(from `171.0.0`, in `dependencies`)
- [#2999](https://github.com/Urigo/accounter-fullstack/pull/2999)
[`1f9675e`](https://github.com/Urigo/accounter-fullstack/commit/1f9675e5ae7e516770b7a052a79bbcfcd758b748)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.36` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.36) (from
`3.0.23`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.47.2` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.47.2) (from
`0.47.1`, in `dependencies`)
- Updated dependency [`ai@6.0.69` ↗︎](https://www.npmjs.com/package/ai/v/6.0.69) (from `6.0.50`, in
`dependencies`)
- Updated dependency [`googleapis@171.2.0` ↗︎](https://www.npmjs.com/package/googleapis/v/171.2.0)
(from `171.0.0`, in `dependencies`)
- Updated dependency [`playwright@1.58.1` ↗︎](https://www.npmjs.com/package/playwright/v/1.58.1)
(from `1.58.0`, in `dependencies`)
- [#3004](https://github.com/Urigo/accounter-fullstack/pull/3004)
[`253c49d`](https://github.com/Urigo/accounter-fullstack/commit/253c49d03828a90426386cea5e1a58e080f759f9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@6.0.70` ↗︎](https://www.npmjs.com/package/ai/v/6.0.70) (from `6.0.69`, in
`dependencies`)
- [#3007](https://github.com/Urigo/accounter-fullstack/pull/3007)
[`0a8cfcb`](https://github.com/Urigo/accounter-fullstack/commit/0a8cfcb862c24bd0c4c450b8adbbaa0d0ca3582b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@171.3.0` ↗︎](https://www.npmjs.com/package/googleapis/v/171.3.0)
(from `171.2.0`, in `dependencies`)
- [#3025](https://github.com/Urigo/accounter-fullstack/pull/3025)
[`0b5b2ea`](https://github.com/Urigo/accounter-fullstack/commit/0b5b2ea65abe31286a97615a46cad149da72f235)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.39` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.39) (from
`3.0.36`, in `dependencies`)
- Updated dependency [`ai@6.0.77` ↗︎](https://www.npmjs.com/package/ai/v/6.0.77) (from `6.0.70`, in
`dependencies`)
- Updated dependency [`dotenv@17.2.4` ↗︎](https://www.npmjs.com/package/dotenv/v/17.2.4) (from
`17.2.3`, in `dependencies`)
- Updated dependency [`playwright@1.58.2` ↗︎](https://www.npmjs.com/package/playwright/v/1.58.2)
(from `1.58.1`, in `dependencies`)
- [#3026](https://github.com/Urigo/accounter-fullstack/pull/3026)
[`b07a629`](https://github.com/Urigo/accounter-fullstack/commit/b07a62943ed2a73355b62d740fe27deede7d0099)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@171.4.0` ↗︎](https://www.npmjs.com/package/googleapis/v/171.4.0)
(from `171.3.0`, in `dependencies`)
- [#3029](https://github.com/Urigo/accounter-fullstack/pull/3029)
[`80ecd47`](https://github.com/Urigo/accounter-fullstack/commit/80ecd47f6f2d7bceaa87c2e6fd33a5ca00a8c976)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@6.0.78` ↗︎](https://www.npmjs.com/package/ai/v/6.0.78) (from `6.0.77`, in
`dependencies`)
- [#3031](https://github.com/Urigo/accounter-fullstack/pull/3031)
[`211446a`](https://github.com/Urigo/accounter-fullstack/commit/211446a6757b501d71131f2b4689bcefcf46d580)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.40` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.40) (from
`3.0.39`, in `dependencies`)
- [#3034](https://github.com/Urigo/accounter-fullstack/pull/3034)
[`88e8bb9`](https://github.com/Urigo/accounter-fullstack/commit/88e8bb914be1965333e0b899537562c8877782a1)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.44` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.44) (from
`3.0.40`, in `dependencies`)
- Updated dependency
[`@google-cloud/pubsub@5.2.3` ↗︎](https://www.npmjs.com/package/@google-cloud/pubsub/v/5.2.3)
(from `5.2.2`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.47.3` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.47.3) (from
`0.47.2`, in `dependencies`)
- Updated dependency [`ai@6.0.86` ↗︎](https://www.npmjs.com/package/ai/v/6.0.86) (from `6.0.78`, in
`dependencies`)
- [#3039](https://github.com/Urigo/accounter-fullstack/pull/3039)
[`6c5f52c`](https://github.com/Urigo/accounter-fullstack/commit/6c5f52ca44eefe53e301482f0781d0d2a3540357)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@11.1.1` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/11.1.1)
(from `11.1.0`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@9.1.1` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/9.1.1)
(from `9.1.0`, in `dependencies`)
- [#3057](https://github.com/Urigo/accounter-fullstack/pull/3057)
[`cac79a9`](https://github.com/Urigo/accounter-fullstack/commit/cac79a983189c61e40d9e66a6a7a0da133aff31a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`async-mutex@0.5.0` ↗︎](https://www.npmjs.com/package/async-mutex/v/0.5.0) (to
`dependencies`)
- [#3041](https://github.com/Urigo/accounter-fullstack/pull/3041)
[`352ee1b`](https://github.com/Urigo/accounter-fullstack/commit/352ee1b16018745057219979280d49a86e645d4c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv@17.3.1` ↗︎](https://www.npmjs.com/package/dotenv/v/17.3.1) (from
`17.2.4`, in `dependencies`)
- [#3057](https://github.com/Urigo/accounter-fullstack/pull/3057)
[`cac79a9`](https://github.com/Urigo/accounter-fullstack/commit/cac79a983189c61e40d9e66a6a7a0da133aff31a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`async-mutex@0.5.0` ↗︎](https://www.npmjs.com/package/async-mutex/v/0.5.0) (to
`dependencies`)
- [#3066](https://github.com/Urigo/accounter-fullstack/pull/3066)
[`560aaa4`](https://github.com/Urigo/accounter-fullstack/commit/560aaa4e320f71cc9a721945d3ead070c4b5cfed)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.46` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.46) (from
`3.0.44`, in `dependencies`)
- Updated dependency [`ai@6.0.97` ↗︎](https://www.npmjs.com/package/ai/v/6.0.97) (from `6.0.86`, in
`dependencies`)
- [#3093](https://github.com/Urigo/accounter-fullstack/pull/3093)
[`db0d20c`](https://github.com/Urigo/accounter-fullstack/commit/db0d20c8859d5a625598d4a52da8960712b53bbd)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@google-cloud/pubsub@5.3.0` ↗︎](https://www.npmjs.com/package/@google-cloud/pubsub/v/5.3.0)
(from `5.2.3`, in `dependencies`)
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`auth0@5.3.1` ↗︎](https://www.npmjs.com/package/auth0/v/5.3.1) (to
`dependencies`)
- [#3116](https://github.com/Urigo/accounter-fullstack/pull/3116)
[`74e4338`](https://github.com/Urigo/accounter-fullstack/commit/74e4338e79ced57d492f2b677c73ffe23682bda6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@6.0.98` ↗︎](https://www.npmjs.com/package/ai/v/6.0.98) (from `6.0.97`, in
`dependencies`)
- [#3121](https://github.com/Urigo/accounter-fullstack/pull/3121)
[`992e2ed`](https://github.com/Urigo/accounter-fullstack/commit/992e2edb1507dcb64ccf07b24b7b850fe6fe815b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql@16.13.0` ↗︎](https://www.npmjs.com/package/graphql/v/16.13.0) (from
`16.12.0`, in `dependencies`)
- [#3133](https://github.com/Urigo/accounter-fullstack/pull/3133)
[`9dcc165`](https://github.com/Urigo/accounter-fullstack/commit/9dcc16590189d77113748dec7305b65e3466a372)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.47` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.47) (from
`3.0.46`, in `dependencies`)
- Updated dependency [`ai@6.0.99` ↗︎](https://www.npmjs.com/package/ai/v/6.0.99) (from `6.0.98`, in
`dependencies`)
- [#3136](https://github.com/Urigo/accounter-fullstack/pull/3136)
[`d4875ca`](https://github.com/Urigo/accounter-fullstack/commit/d4875cafe26e8311e0c12a189f5275f017ce5add)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.19.0` ↗︎](https://www.npmjs.com/package/pg/v/8.19.0) (from `8.18.0`, in
`dependencies`)
- [#3148](https://github.com/Urigo/accounter-fullstack/pull/3148)
[`2265bd3`](https://github.com/Urigo/accounter-fullstack/commit/2265bd35a651989d47f1e791c8638b82f4bdeaf0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.50` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.50) (from
`3.0.47`, in `dependencies`)
- Updated dependency [`ai@6.0.105` ↗︎](https://www.npmjs.com/package/ai/v/6.0.105) (from `6.0.99`,
in `dependencies`)
- [#3149](https://github.com/Urigo/accounter-fullstack/pull/3149)
[`e3f6af1`](https://github.com/Urigo/accounter-fullstack/commit/e3f6af1516a22eae8f9edb07f716c6dc9765654a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.51` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.51) (from
`3.0.50`, in `dependencies`)
- Updated dependency [`ai@6.0.106` ↗︎](https://www.npmjs.com/package/ai/v/6.0.106) (from `6.0.105`,
in `dependencies`)
- [#3159](https://github.com/Urigo/accounter-fullstack/pull/3159)
[`e47b428`](https://github.com/Urigo/accounter-fullstack/commit/e47b4287ec3060ed93f12281bcfc711322244cb7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.20.0` ↗︎](https://www.npmjs.com/package/pg/v/8.20.0) (from `8.19.0`, in
`dependencies`)
- [#3161](https://github.com/Urigo/accounter-fullstack/pull/3161)
[`c33e0a4`](https://github.com/Urigo/accounter-fullstack/commit/c33e0a4c859d6051c0f27c716e304d898e2388b2)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`jose@6.2.0` ↗︎](https://www.npmjs.com/package/jose/v/6.2.0) (from `6.1.3`,
in `dependencies`)
- [#3162](https://github.com/Urigo/accounter-fullstack/pull/3162)
[`87ed17f`](https://github.com/Urigo/accounter-fullstack/commit/87ed17f5269aee029165f0ca5b84690024d5d8ba)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.48.0` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.48.0) (from
`0.47.3`, in `dependencies`)
- [#3165](https://github.com/Urigo/accounter-fullstack/pull/3165)
[`8c2de24`](https://github.com/Urigo/accounter-fullstack/commit/8c2de240a2bc926a33200cba756f6ca5ceb5e875)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.18.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.18.1)
(from `3.18.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.18.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.18.1) (from `5.18.0`,
in `dependencies`)
- [#3166](https://github.com/Urigo/accounter-fullstack/pull/3166)
[`26474f3`](https://github.com/Urigo/accounter-fullstack/commit/26474f32495cc9fe028476840bd3d15fee8b5143)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.58` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.58) (from
`3.0.51`, in `dependencies`)
- Updated dependency [`ai@6.0.116` ↗︎](https://www.npmjs.com/package/ai/v/6.0.116) (from `6.0.106`,
in `dependencies`)
- Updated dependency [`graphql@16.13.1` ↗︎](https://www.npmjs.com/package/graphql/v/16.13.1) (from
`16.13.0`, in `dependencies`)
- Updated dependency [`jose@6.2.1` ↗︎](https://www.npmjs.com/package/jose/v/6.2.1) (from `6.2.0`,
in `dependencies`)
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`auth0@5.3.1` ↗︎](https://www.npmjs.com/package/auth0/v/5.3.1) (to
`dependencies`)
- [#3171](https://github.com/Urigo/accounter-fullstack/pull/3171)
[`c0dc497`](https://github.com/Urigo/accounter-fullstack/commit/c0dc4978cf26b745c3a35fad6035ed42c254ec85)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`auth0@5.4.0` ↗︎](https://www.npmjs.com/package/auth0/v/5.4.0) (from `5.3.1`,
in `dependencies`)
- [#3179](https://github.com/Urigo/accounter-fullstack/pull/3179)
[`d67c113`](https://github.com/Urigo/accounter-fullstack/commit/d67c113936e3b936509ae461b88306337f107b43)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`@envelop/core@5.5.1` ↗︎](https://www.npmjs.com/package/@envelop/core/v/5.5.1)
(to `dependencies`)
- Added dependency
[`@graphql-tools/utils@11.0.0` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/11.0.0)
(to `dependencies`)
- [#3179](https://github.com/Urigo/accounter-fullstack/pull/3179)
[`d67c113`](https://github.com/Urigo/accounter-fullstack/commit/d67c113936e3b936509ae461b88306337f107b43)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`@envelop/core@5.5.1` ↗︎](https://www.npmjs.com/package/@envelop/core/v/5.5.1)
(to `dependencies`)
- Added dependency
[`@graphql-tools/utils@11.0.0` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/11.0.0)
(to `dependencies`)
- [#3206](https://github.com/Urigo/accounter-fullstack/pull/3206)
[`443e2f1`](https://github.com/Urigo/accounter-fullstack/commit/443e2f1e812547b5d80be05f003e4fe579e88e6b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`auth0@5.5.0` ↗︎](https://www.npmjs.com/package/auth0/v/5.5.0) (from `5.4.0`,
in `dependencies`)
- [#3214](https://github.com/Urigo/accounter-fullstack/pull/3214)
[`69a150b`](https://github.com/Urigo/accounter-fullstack/commit/69a150bcb25903593316b4c9d3f344b428585a72)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.63` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.63) (from
`3.0.58`, in `dependencies`)
- Updated dependency [`ai@6.0.134` ↗︎](https://www.npmjs.com/package/ai/v/6.0.134) (from `6.0.116`,
in `dependencies`)
- Updated dependency [`jose@6.2.2` ↗︎](https://www.npmjs.com/package/jose/v/6.2.2) (from `6.2.1`,
in `dependencies`)
- [#3246](https://github.com/Urigo/accounter-fullstack/pull/3246)
[`cb0dbc5`](https://github.com/Urigo/accounter-fullstack/commit/cb0dbc518e8f31a0e69180d83c444658a6ca019e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.63` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.63) (from
`3.0.58`, in `dependencies`)
- Updated dependency [`ai@6.0.134` ↗︎](https://www.npmjs.com/package/ai/v/6.0.134) (from `6.0.116`,
in `dependencies`)
- Updated dependency [`jose@6.2.2` ↗︎](https://www.npmjs.com/package/jose/v/6.2.2) (from `6.2.1`,
in `dependencies`)
- [#3247](https://github.com/Urigo/accounter-fullstack/pull/3247)
[`43dab70`](https://github.com/Urigo/accounter-fullstack/commit/43dab70e682bd96b4e7c252a2bbda94df8f0e0ba)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.64` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.64) (from
`3.0.63`, in `dependencies`)
- Updated dependency [`ai@6.0.141` ↗︎](https://www.npmjs.com/package/ai/v/6.0.141) (from `6.0.134`,
in `dependencies`)
- Updated dependency [`graphql@16.13.2` ↗︎](https://www.npmjs.com/package/graphql/v/16.13.2) (from
`16.13.1`, in `dependencies`)
- [#3262](https://github.com/Urigo/accounter-fullstack/pull/3262)
[`41417f2`](https://github.com/Urigo/accounter-fullstack/commit/41417f251c65a517a6312c1b393f96518a0c1179)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`@opentelemetry/api@1.9.1` ↗︎](https://www.npmjs.com/package/@opentelemetry/api/v/1.9.1) (to
`dependencies`)
- Added dependency
[`@opentelemetry/auto-instrumentations-node@0.72.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node/v/0.72.0)
(to `dependencies`)
- Added dependency
[`@opentelemetry/exporter-trace-otlp-http@0.214.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-http/v/0.214.0)
(to `dependencies`)
- Added dependency
[`@opentelemetry/resources@2.6.1` ↗︎](https://www.npmjs.com/package/@opentelemetry/resources/v/2.6.1)
(to `dependencies`)
- Added dependency
[`@opentelemetry/sdk-node@0.214.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-node/v/0.214.0)
(to `dependencies`)
- Added dependency
[`@opentelemetry/semantic-conventions@1.40.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/semantic-conventions/v/1.40.0)
(to `dependencies`)
- [#3262](https://github.com/Urigo/accounter-fullstack/pull/3262)
[`41417f2`](https://github.com/Urigo/accounter-fullstack/commit/41417f251c65a517a6312c1b393f96518a0c1179)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`@opentelemetry/api@1.9.1` ↗︎](https://www.npmjs.com/package/@opentelemetry/api/v/1.9.1) (to
`dependencies`)
- Added dependency
[`@opentelemetry/auto-instrumentations-node@0.72.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node/v/0.72.0)
(to `dependencies`)
- Added dependency
[`@opentelemetry/exporter-trace-otlp-http@0.214.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-http/v/0.214.0)
(to `dependencies`)
- Added dependency
[`@opentelemetry/resources@2.6.1` ↗︎](https://www.npmjs.com/package/@opentelemetry/resources/v/2.6.1)
(to `dependencies`)
- Added dependency
[`@opentelemetry/sdk-node@0.214.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-node/v/0.214.0)
(to `dependencies`)
- Added dependency
[`@opentelemetry/semantic-conventions@1.40.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/semantic-conventions/v/1.40.0)
(to `dependencies`)
- [#3275](https://github.com/Urigo/accounter-fullstack/pull/3275)
[`422938d`](https://github.com/Urigo/accounter-fullstack/commit/422938d80ef44a11e45b55c639e3238bf5d19160)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`playwright@1.59.0` ↗︎](https://www.npmjs.com/package/playwright/v/1.59.0)
(from `1.58.2`, in `dependencies`)
- [#3072](https://github.com/Urigo/accounter-fullstack/pull/3072)
[`1b54fbd`](https://github.com/Urigo/accounter-fullstack/commit/1b54fbd83e0c2c9ed829b8fca2da2b879da0138d)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - A new provider,
`FinancialAccountsTaxCategoriesProvider`, has been added to handle database operations for
financial account tax categories. This provider includes SQL queries for fetching, updating,
inserting, and deleting tax categories, and utilizes a `DataLoader` for efficient data retrieval.
- The `financial-accounts.resolver.ts` now includes comprehensive logic to manage tax categories
during financial account creation and updates. This involves identifying new categories to
insert, existing ones to update, and old ones to delete, ensuring data consistency.
- [#3273](https://github.com/Urigo/accounter-fullstack/pull/3273)
[`d27d6b2`](https://github.com/Urigo/accounter-fullstack/commit/d27d6b2e26f8db119589476615c0d0e1e2147315)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - fix charge amount where credit invoices
exist
- validate document amount is positive (sign determined according to debtor and creditor sides)
- enhance error messaging levaraging Green Invoice's error messages
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Provider Cache Patterns
Documentation**: Added a new document outlining provider cache patterns and isolation strategies
to prevent data leakage in multi-tenant architectures.
- **AdminContext Provider Refactoring**: Refactored the existing `AdminContextProvider` to use
`Scope.Operation` for request-scoped caching and proper DI integration, addressing tenant
leakage risks. The original plugin remains active.
- **TenantAwareDBClient and AUTH_CONTEXT**: The PR prepares for a future phase (4.8) where
`DBProvider` will be switched to `TenantAwareDBClient` and `AUTH_CONTEXT` will be integrated.
The current refactoring keeps the existing `DBProvider` to avoid breaking changes.
- **Cache Isolation Integration Tests**: Added new integration tests to verify cache isolation
between concurrent requests for various providers.
- **Provider Scope Changes**: Many providers are changed to `Scope.Operation` to ensure
tenant-specific data is handled with request-level isolation.
- [#3179](https://github.com/Urigo/accounter-fullstack/pull/3179)
[`d67c113`](https://github.com/Urigo/accounter-fullstack/commit/d67c113936e3b936509ae461b88306337f107b43)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Authorization Provider**: Created
provider-layer authorization for complex checks.
- [#3101](https://github.com/Urigo/accounter-fullstack/pull/3101)
[`7dd3537`](https://github.com/Urigo/accounter-fullstack/commit/7dd35375be2648dfbfbfeee8cffa254536ea835a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Owner ID Enforcement**: Implemented a
system-wide enforcement of `owner_id` for all new record insertions into various protected
database tables, ensuring data ownership and multi-tenancy.
- **New Helper Function**: Introduced a new helper function, `reassureOwnerIdExists`, to
standardize the injection of `owner_id` into database insert parameters, falling back to the
default admin business ID if not explicitly provided.
- **SQL Query Modifications**: Modified numerous SQL `INSERT` statements across multiple modules
to include the `owner_id` column and its corresponding value, and updated `ON CONFLICT` clauses
where applicable.
- **Provider Integration**: Injected the GraphQL `CONTEXT` into the constructors of various data
providers to enable access to the `owner_id` and integrated the `reassureOwnerIdExists` helper
into their `insert` methods.
- [#3000](https://github.com/Urigo/accounter-fullstack/pull/3000)
[`653f97c`](https://github.com/Urigo/accounter-fullstack/commit/653f97cb5ed3a4d420023d22494452ac3e80b1ec)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Account Filtering for Balance Report**:
The 'Transactions Balance' report now supports filtering by financial accounts, allowing users to
include or exclude specific accounts from the report.
- **Frontend UI Enhancements**: The balance report filter form has been updated with new account
selection fields, improved form validation using Zod, and UI component adjustments for better
responsiveness.
- **Backend GraphQL Integration**: The GraphQL schema and resolvers have been extended to include
financial account data for transactions and to support the new account-based filtering logic.
- **Reusable Account Fetching Logic**: A new helper function and a client-side hook were
introduced to centralize and streamline the fetching and management of financial account data.
- [#3003](https://github.com/Urigo/accounter-fullstack/pull/3003)
[`7809f6d`](https://github.com/Urigo/accounter-fullstack/commit/7809f6dc1a16373a205d76bdc2458d6132785e2c)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Swift Code Integration**: This PR
introduces the 'swiftCode' field to financial bank accounts, enhancing the system's ability to
manage international banking details.
- **Schema and UI Updates**: The changes include updates to the financial account schema, UI
components, and database migrations to accommodate the new 'swiftCode' field.
- **Database Migration**: A new migration script is added to update the 'financial_bank_accounts'
table with a 'swift_code' column.
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Authentication Plugin (Auth Plugin
V2)**: Introduced a new GraphQL Yoga plugin, `authPluginV2`, responsible for extracting raw
authentication credentials (JWT or API Key) from request headers. This plugin is designed to be
part of the v2 authentication system, specifically for Auth0 integration, and focuses solely on
credential extraction without verification.
- **Environment Variable for Auth0 Control**: Added a new environment variable, `USE_AUTH0`, to
the server's configuration. This variable allows for toggling the use of Auth0, indicating a
phased rollout or conditional activation of the new authentication system.
- **Support for JWT and API Key Extraction**: The new plugin can extract JWTs from the
`Authorization: Bearer` header and API keys from the `X-API-Key` header, with JWT taking
precedence when both are present. It also handles cases of missing or malformed headers
gracefully.
- **Comprehensive Unit Tests**: A dedicated test file (`auth-plugin-v2.test.ts`) has been added to
thoroughly test the functionality of the `authPluginV2`, covering various scenarios including
token extraction, header precedence, and error handling for malformed inputs.
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Auth0 Management Service
Enhancements**: The Auth0ManagementService now includes new functionalities for user management,
such as unblocking users and initiating password reset emails.
- **User Creation Flow Adjustment**: The `createUser` method has been renamed to
`createBlockedUser` to explicitly reflect that newly created users are initially blocked,
aligning with an invitation-based registration process.
- **Dependency Injection for Environment**: The service now uses dependency injection for
environment variables, improving testability and modularity.
- [#3088](https://github.com/Urigo/accounter-fullstack/pull/3088)
[`392b25f`](https://github.com/Urigo/accounter-fullstack/commit/392b25fabd0154488569b14c6ebda805e1e0f9e3)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Enforcement**: A new
migration was introduced to enforce the `owner_id` column as `NOT NULL` across numerous tables in
the `accounter_schema`, a critical step for strengthening tenant isolation.
- **Migration Refinements**: An existing migration for `ledger_records` was updated to temporarily
disable and re-enable Row Level Security (RLS) on the `charges` table during the `owner_id`
backfill process, ensuring proper data manipulation without RLS interference.
- **Data Seeding and Testing Alignment**: All relevant test factories, fixture definitions, and
data seeding scripts were updated to explicitly include and correctly handle the `owner_id`
field, ensuring consistency with the new non-nullable constraint.
- **Query Optimization**: Several database queries in various providers (contracts, corn-jobs,
documents, reports, transactions) were refactored to directly access the `owner_id` from the
primary table (e.g., `transactions.owner_id`, `documents.owner_id`) instead of relying on joins
to the `charges` table, simplifying query logic and improving efficiency.
- **Migration Cleanup**: Initial data insertion statements were removed from older migration files
(`refactor-tags.ts`, `add-to-context-salary-excess-expenses.ts`), indicating a cleanup or
relocation of initial data seeding logic.
- [#3114](https://github.com/Urigo/accounter-fullstack/pull/3114)
[`84f9e20`](https://github.com/Urigo/accounter-fullstack/commit/84f9e203c696c8b76a7cef2128547e8cde7559f0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Provider Migration**: Replaced
the generic `DBProvider` with `TenantAwareDBClient` across numerous modules, including business
trips, corn jobs, and Deel invoices, to facilitate tenant-aware database operations.
- **Tax Category Lookup Simplification**: Refactored tax category lookups to remove the explicit
`ownerId` parameter, now relying on the `TenantAwareDBClient` to handle tenant context
implicitly. This involved updates to GraphQL schemas, resolvers, and DataLoader implementations.
- **SQL Query and Schema Adjustments**: Modified SQL `UPDATE` queries in charges and financial
entities to no longer explicitly update `owner_id`. GraphQL input types and queries were also
updated to remove `ownerId` parameters where appropriate.
- **VAT Report Logic Update**: Adjusted the logic for determining `isExpense` and `counterpartyId`
in VAT reporting to correctly use `doc.owner_id` instead of `charge.owner_id`, aligning with the
new tenant-aware data model.
- **Service Scope Change**: Changed the scope of `CornJobsProvider` from `Singleton` to
`Operation` to ensure proper tenant context isolation for background tasks.
- [#3037](https://github.com/Urigo/accounter-fullstack/pull/3037)
[`854112e`](https://github.com/Urigo/accounter-fullstack/commit/854112e6a5ac27c85cfe46a5661f2e1658c8f995)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Depreciation Category Deletion**:
Corrected the table name used in the `deleteDepreciationCategory` SQL query from `depreciation` to
`depreciation_categories` to ensure accurate data deletion.
- **Document Filtering Logic**: Updated the `getDocumentsByExtendedFilters` query to join with the
`charges` table instead of `extended_charges` and refined the logic for identifying 'unmatched'
documents by using a `NOT EXISTS` subquery against the `transactions` table.
- **Tax Category Query Removal**: Removed the `getTaxCategoryByChargeIDs` SQL query, its
associated DataLoader, and related type definitions and invalidation calls, indicating the
deprecation or removal of this specific lookup mechanism.
- [#3054](https://github.com/Urigo/accounter-fullstack/pull/3054)
[`20ef6fd`](https://github.com/Urigo/accounter-fullstack/commit/20ef6fd9099f5646e85f28a31130bb149ab8da81)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Extension**: A new
database migration was added to introduce a `recipient_legal_entity_id` column to the
`accounter_schema.deel_invoices` table, enhancing data capture for legal entities.
- **API Schema Updates for Deel Integration**: The Deel invoice schema was extended to include
`recipient_legal_entity_id` and `deel_reference`, and the `timezone` field for payment receipts
was made nullable. Additionally, pagination fields (`next_cursor`, `has_more`, `total_count`)
were integrated into the API response schema for retrieving payment receipts.
- **Workaround for Contractor-Related Fee Invoices**: A temporary fix was implemented in the Deel
helper to address an issue where fee invoices with empty contractor unique identifiers were
causing processing problems, ensuring these specific invoices are now handled correctly.
- [#3190](https://github.com/Urigo/accounter-fullstack/pull/3190)
[`75c1c91`](https://github.com/Urigo/accounter-fullstack/commit/75c1c9156109bf3386d93394c3070f7ec24f631b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **API Key Management Mutations**: New
GraphQL mutations `generateApiKey` and `revokeApiKey` have been introduced to allow business
owners to manage API keys, including creating new keys with specific roles and revoking existing
ones.
- **API Key Listing Query**: A new GraphQL query `listApiKeys` is now available, enabling business
owners to view all active API keys associated with their business.
- [#3245](https://github.com/Urigo/accounter-fullstack/pull/3245)
[`ca5d912`](https://github.com/Urigo/accounter-fullstack/commit/ca5d912e70f58230f832666f25482abcc725077e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Enhanced Search Performance**:
Introduced the `pg_trgm` PostgreSQL extension and created GIN indexes on relevant text columns
(`user_description`, `source_description`, `source_reference`, `description`, `remarks`,
`serial_number`) across `charges`, `transactions`, and `documents` tables to significantly improve
the performance of free-text search queries.
- **SQL Query Refactoring for `getChargesByFilters`**: The `getChargesByFilters` SQL query was
extensively refactored using Common Table Expressions (CTEs) to optimize its structure and
execution. This includes a new `search_matches` CTE that leverages the new GIN indexes for
efficient initial filtering based on free text, and a `filtered_charges` CTE to serve as the
primary data source for subsequent joins and aggregations.
- **SQL Query Refactoring for `getSimilarCharges`**: The `getSimilarCharges` SQL query was also
refactored to utilize CTEs, improving its readability and maintainability by breaking down
complex logic into smaller, more manageable parts.
- [#2968](https://github.com/Urigo/accounter-fullstack/pull/2968)
[`1ad4fa1`](https://github.com/Urigo/accounter-fullstack/commit/1ad4fa10d74628abade8ce175ad4b35c8f63eb70)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Table Duplication**: A new
migration duplicate the `accounter_schema.users` table to
`accounter_schema.legacy_business_users`, as a step of renaming the users table. This change is
crucial for distinguishing between business entities and future personal user accounts.
- **Authentication Query Update**: The `auth-plugin.ts` file is updated to reflect the new table,
modifying the `getUserByName` SQL query to target the `legacy_business_users` table.
- **Core User Authentication Tables**: Introduced foundational database tables for user
authentication and authorization, including `roles`, `permissions`, `role_permissions`,
`business_users`, and `user_permission_overrides`.
- **Auth0 Integration Readiness**: The `business_users` table is designed to link external Auth0
user IDs with internal business and role assignments, preparing the system for Auth0
integration.
- **Role-Based Access Control (RBAC)**: Implemented a role-based access control system with
predefined roles (e.g., business owner, accountant) and permissions, with provisions for future
granular permission management.
- **Initial Seed Data**: The migration script includes seed data for initial roles, permissions,
and their mappings, providing a ready-to-use access control setup.
- [#2980](https://github.com/Urigo/accounter-fullstack/pull/2980)
[`1930e65`](https://github.com/Urigo/accounter-fullstack/commit/1930e653c898afa7d41676d40e0be60e8f9f0611)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Enhanced Reliability with
Auto-Restart**: Implemented an automatic restart mechanism for the Gmail Pub/Sub listener. Upon
encountering subscription errors or health check failures, the listener will now attempt to stop
and restart itself, improving resilience and ensuring continuous operation.
- **Comprehensive Health Monitoring**: Introduced a periodic health check system that runs every
10 minutes. This system verifies the listener's active state, tracks message reception, and
confirms Gmail API connectivity. If any check fails, an auto-restart is triggered to restore
service.
- **Extensive and Structured Logging**: Significantly improved logging across the Pub/Sub service.
Log messages now include clear prefixes (e.g., "[PubSub]", "[Gmail]", "[PubSub Health]") and
provide more detailed information on topic/subscription creation, message processing, error
handling, and Gmail watch renewals, aiding in debugging and operational visibility.
- **Improved Error Handling for Message Processing**: Modified the message processing logic to
acknowledge messages even if an error occurs during their handling. This prevents messages from
being infinitely redelivered and allows for better error recovery strategies.
- **Robust Topic and Subscription Management**: Updated the logic for validating and creating
Pub/Sub topics and subscriptions to explicitly check for their existence using the `exists()`
method and provide more informative logging during creation or error scenarios.
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Robust Initialization**: Implemented a
constructor check in `DBProvider` to ensure a PostgreSQL pool instance is always provided,
improving initialization robustness.
- **Database Health Check**: Introduced a `healthCheck` method to `DBProvider` for verifying
database connectivity, crucial for monitoring and readiness probes.
- **Graceful Shutdown**: Added a `shutdown` method to `DBProvider` to enable graceful termination
of the database connection pool during application shutdown.
- **Clear Usage Documentation**: Enhanced `DBProvider` with detailed JSDoc comments, clearly
distinguishing between system-level database access (bypassing RLS) and future request-level
access (enforcing RLS via `TenantAwareDBClient`).
- **Comprehensive Test Coverage**: Created a comprehensive test suite for `DBProvider`, covering
its constructor, `query`, `healthCheck`, and `shutdown` methods, ensuring reliability and
correctness.
- [#3179](https://github.com/Urigo/accounter-fullstack/pull/3179)
[`d67c113`](https://github.com/Urigo/accounter-fullstack/commit/d67c113936e3b936509ae461b88306337f107b43)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New GraphQL Authorization Directives**:
Introduced three new GraphQL directives: `@requiresAuth` for general authentication,
`@requiresRole` for specific role enforcement, and `@requiresAnyRole` for allowing multiple roles.
These directives provide more granular control over access to GraphQL fields.
- **Migration to New Directives**: Replaced the deprecated `@auth` directive with the new
`@requiresAuth`, `@requiresRole`, and `@requiresAnyRole` directives across numerous GraphQL type
definitions, enhancing clarity and flexibility in authorization rules.
- **Refactoring Auth0 Management**: Renamed `Auth0ManagementService` to `Auth0ManagementProvider`
and updated its usage and test files to reflect the new naming convention, aligning with
provider patterns.
- [#3082](https://github.com/Urigo/accounter-fullstack/pull/3082)
[`a37f867`](https://github.com/Urigo/accounter-fullstack/commit/a37f8675285a889ea31b71ac9dd86e2c91a04f4e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Database Migration**: A new
database migration was added to populate the `owner_id` column in
`accounter_schema.ledger_records` based on associated `charges` and subsequently enforce a
`NOT NULL` constraint on this column.
- **Comprehensive Owner ID Backfill Script**: A comprehensive backfill script was introduced to
systematically populate `owner_id` values across 30+ tables within the `accounter_schema`,
addressing various data relationships.
- [#3190](https://github.com/Urigo/accounter-fullstack/pull/3190)
[`75c1c91`](https://github.com/Urigo/accounter-fullstack/commit/75c1c9156109bf3386d93394c3070f7ec24f631b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **API Key Generation Mutation**:
Introduced a new GraphQL mutation `generateApiKey` allowing `business_owner` roles to create API
keys.
- **Secure Key Storage**: Implemented a mechanism to store SHA-256 hashes of API keys in the
database, ensuring plaintext keys are never persisted.
- **Role-Based Access Control**: Enforced that API keys can only be assigned the `scraper` role
and explicitly rejects assigning higher-privilege roles such as `business_owner` for security.
- [#3218](https://github.com/Urigo/accounter-fullstack/pull/3218)
[`8c049ac`](https://github.com/Urigo/accounter-fullstack/commit/8c049ac8cfa2d55d80d2539868dac2df8e018f3e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Introduced Annual Audit Flow UI**: A
new, comprehensive 'Annual Audit Flow' user interface has been added, providing a structured,
multi-step process for managing yearly financial operations and compliance. This includes a
progress overview, filtering capabilities, and dedicated steps for various audit tasks.
- **New GraphQL API Endpoints for Audit Operations**: New GraphQL queries and mutations were
implemented on the server-side to support the annual audit flow, including fetching accountant
approval status for charges, retrieving annual financial charges, and locking ledger records.
- **Enhanced Confirmation Modal and New Hooks**: The `ConfirmationModal` component was enhanced to
allow external control of its open state, and new React hooks (`useGenerateFinancialCharge`,
`useLedgerLock`) were introduced to streamline financial charge generation and ledger locking
operations with integrated toast notifications.
- **Updated Navigation and Routing**: The application's sidebar navigation and routing
configuration were updated to include the new 'Workflows' section and the 'Annual Audit' page,
making the new feature accessible.
- [#3038](https://github.com/Urigo/accounter-fullstack/pull/3038)
[`4d4e60d`](https://github.com/Urigo/accounter-fullstack/commit/4d4e60dd85f6c7779c556b513e2de844615dd293)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Configurable NPM Registry in CI**: The
GitHub Actions setup now includes a `registryUrl` input, allowing for flexible specification of
the NPM registry during package publishing.
- **Deterministic Dependency Installation**: The `yarn install` command in the CI workflow was
updated to use `--frozen-lockfile`, ensuring consistent and reproducible builds by preventing
modifications to the `yarn.lock` file.
- **Standardized Package Metadata**: `package.json` files across several packages were updated to
include comprehensive and consistent metadata, such as `description`, `repository` details,
`homepage`, `bugs` URL, and `author` information.
- **Explicit NPM Registry Configuration**: The `publishConfig` in multiple `package.json` files
was modified to explicitly set the `registry` to `https://registry.npmjs.org`, clarifying the
target for package publication.
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Auth0 Integration**: Integrated the
Auth0 management client library to enable programmatic interaction with Auth0 for user management.
- **New Auth0 Module**: Introduced a new `auth` GraphQL module to encapsulate Auth0-related
services and types within the application.
- **Auth0 Management Service**: Implemented `Auth0ManagementService` to handle creating and
deleting users in Auth0, including generating secure temporary passwords and setting initial
user states (blocked, unverified email).
- **Dependency Management**: Added the `auth0` package as a dependency and updated `yarn.lock` to
reflect new and resolved package versions.
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Tenant-Aware Database Client**:
Introduced a `TenantAwareDBClient` class, which is request-scoped and designed to manage database
connections and operations for individual GraphQL requests, ensuring tenant isolation and secure
data access.
- **Row-Level Security (RLS) Enforcement**: The new client automatically sets PostgreSQL session
variables (`app.current_business_id`, `app.current_user_id`, `app.auth_type`) based on the
authenticated user's context, enabling robust Row-Level Security policies.
- **Advanced Transaction Management**: Implemented comprehensive transaction handling, including
support for nested transactions using `SAVEPOINT`s, automatic transaction initiation for single
queries, and proper rollback mechanisms on errors for both top-level and nested transactions.
- **Resource Lifecycle Management**: The `TenantAwareDBClient` integrates with GraphQL Modules'
lifecycle, automatically disposing of database connections and rolling back any active
transactions when the operation scope ends, preventing resource leaks.
- **AuthContext Integration**: A new `AuthContext` interface and an `AUTH_CONTEXT` injection token
were added to provide a standardized way to inject authentication and tenant information into
services, which the `TenantAwareDBClient` utilizes.
- [#3069](https://github.com/Urigo/accounter-fullstack/pull/3069)
[`92edfde`](https://github.com/Urigo/accounter-fullstack/commit/92edfde9512a85ea545a2d1dac26ebf86109005e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Asynchronous Cache Operations**:
Modified the `updateContract` and `deleteContract` methods to explicitly `await` calls to
`this.clearCache()` and `this.invalidateCacheForContract()`, ensuring these asynchronous cache
operations complete before subsequent logic.
- [#3270](https://github.com/Urigo/accounter-fullstack/pull/3270)
[`1815013`](https://github.com/Urigo/accounter-fullstack/commit/181501367c4dbdeb0010296e7d418af955f4e75e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Environment Variable Cleanup**: Removed
hardcoded and auto-generated environment variables like DEFAULT_FINANCIAL_ENTITY_ID and Gmail
credentials from the main configuration, promoting a cleaner and more secure setup.
- **OpenTelemetry Integration**: Added comprehensive OpenTelemetry configuration settings to the
environment template to support better observability and tracing.
- **Configuration Loading Improvements**: Updated various packages to support loading environment
variables from both local and parent directory files, improving flexibility across different
environments.
- **Removal of Legacy Helpers**: Removed the writeEnvVar helper and associated tests, as the
automatic modification of .env files during seeding processes has been deprecated.
- [#3216](https://github.com/Urigo/accounter-fullstack/pull/3216)
[`0176e16`](https://github.com/Urigo/accounter-fullstack/commit/0176e1613d306a319b975cb0b04c55ce2d460aeb)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **New GraphQL API for Document
Ingestion**: A new GraphQL module (`gmail-listener`) has been introduced on the Accounter server,
exposing `businessEmailConfig` (query) and `insertEmailDocuments` (mutation) operations. This API
allows the dedicated Gmail listener service to fetch business-specific email processing
configurations and programmatically insert extracted documents, ensuring structured and
authenticated communication.
- **Introduction of 'gmail_listener' Role**: A new `gmail_listener` role has been added to the
system via a database migration. This role is specifically designed for the automated Gmail
listener service, granting it necessary permissions to interact with the new GraphQL API and
perform document insertion operations.
- **Enhanced Document Upload Process**: The `getDocumentFromFile` helper function has been updated
to support passing `counterPartyId` and a pre-calculated `hash`, improving flexibility and
efficiency when uploading documents, especially from external services like the new Gmail
listener.
- **Refactored Authorization for Charge Creation**: The `canWriteCharge` authorization logic has
been updated to explicitly allow the new `gmail_listener` role (and the existing `scraper` role)
to create charges, reflecting their automated document processing responsibilities.
- [#3184](https://github.com/Urigo/accounter-fullstack/pull/3184)
[`6959737`](https://github.com/Urigo/accounter-fullstack/commit/6959737eef1674deacab4364b3380e5f40394147)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized Audit Logging**: Introduced
a dedicated AuditLogsProvider to centralize and standardize audit log entries across the
application, improving consistency and maintainability.
- **Refactored Audit Log Calls**: Refactored existing audit log calls in invitation-related
functionalities (creation, acceptance, cleanup) to utilize the new AuditLogsProvider.
- **Migration Data Integrity**: Enhanced the 'add-user-id-to-invitations' migration with a check
to ensure the invitations table is empty before adding a non-nullable user_id column, preventing
data integrity issues.
- **New Audit Event Types**: Defined a new AuditEvent type to provide a structured and type-safe
way to log audit events, along with comprehensive unit tests for the new provider.
- [#2975](https://github.com/Urigo/accounter-fullstack/pull/2975)
[`4b37fc8`](https://github.com/Urigo/accounter-fullstack/commit/4b37fc85d294571c0a209901e64f7b4a1c7dc5ab)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **GraphQL Schema Update**: The 'zip'
field in the 'ClientInput' GraphQL type has been renamed to 'zipCode' for better clarity and
consistency across the system.
- **Green Invoice Client Data Mapping**: The logic for converting local client data to Green
Invoice client input has been updated to correctly use 'city' and 'zip_code' from local business
data and to ensure all client details are sourced from the initial input, resolving potential
data discrepancies.
- **UI Event Propagation Prevention**: The 'stopPropagation' method has been added to key UI
elements in document generation and preview modals to prevent unintended click event bubbling,
improving user interaction and preventing unexpected behavior.
- **UI Text Refinement**: A dialog title in the merge charges component has been updated from
'Issue New Document' to 'Merge Charges' for improved clarity and accuracy.
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Auth0 Environment Variables**:
Auth0-related environment variables have been introduced in `.env.template` to support JWT
verification and Management API access.
- **Environment Configuration Update**: The server's environment configuration
(`packages/server/src/environment.ts`) has been updated to parse and validate the new Auth0
variables, ensuring that if Auth0 is configured, all necessary related variables are present.
- **New Unit Tests**: A new test file (`packages/server/src/__tests__/environment.test.ts`) has
been added to verify the correct loading and validation of Auth0 environment variables under
various scenarios.
- **Dependency Addition**: The `jose` library has been added as a new dependency, likely for
handling JSON Web Tokens (JWTs).
- [#3057](https://github.com/Urigo/accounter-fullstack/pull/3057)
[`cac79a9`](https://github.com/Urigo/accounter-fullstack/commit/cac79a983189c61e40d9e66a6a7a0da133aff31a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Row Level Security (RLS) Enabled on
Charges Table**: A new database migration has been introduced to enable Row Level Security on the
`accounter_schema.charges` table, including an index on `owner_id` and a `tenant_isolation` policy
to ensure data separation by business ID.
- **Temporary RLS Provider Workaround**: To facilitate the RLS transition, a temporary workaround
has been implemented in the `ChargesProvider`. It now injects the `AccounterContext` and uses a
new `getRlsDbClient` helper to ensure all database queries respect RLS policies until the
`TenantAwareDBClient` is fully integrated in a later phase.
- **RLS Helper Function**: A new `getRlsDbClient` helper function has been added to
`rls-context-plugin.ts` to provide an RLS-enabled database client, falling back to the regular
provider if no RLS context is available.
- **Test Utility Adjustment**: The test utility `ledger-injector.ts` was updated to accommodate
the new constructor signature of `ChargesProvider`, passing an empty `AccounterContext` for
testing purposes.
- [#3032](https://github.com/Urigo/accounter-fullstack/pull/3032)
[`c577872`](https://github.com/Urigo/accounter-fullstack/commit/c57787204e9f943ded6b47cb26ca010689ef0d7b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Introduced Temporary RLS Context
Plugin**: A new plugin (rls-context-plugin.ts) was added, leveraging GraphQL Yoga's onExecute hook
to establish a per-request database transaction. It sets the PostgreSQL Row-Level Security (RLS)
session variable app.current_business_id for authenticated users using SELECT set_config, bridging
the gap until TenantAwareDBClient is implemented.
- [#3090](https://github.com/Urigo/accounter-fullstack/pull/3090)
[`cf45ef1`](https://github.com/Urigo/accounter-fullstack/commit/cf45ef1ac04e713c99554f539a7473947b283686)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Extended migration infrastructure to
support non-transactional migrations via a new `noTransaction` flag
- Added indexes and foreign keys for `owner_id` columns across 47 tables
- Created test coverage for the migration to verify indexes and foreign keys are properly created
- [#3262](https://github.com/Urigo/accounter-fullstack/pull/3262)
[`41417f2`](https://github.com/Urigo/accounter-fullstack/commit/41417f251c65a517a6312c1b393f96518a0c1179)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **OpenTelemetry Integration**:
Implemented OpenTelemetry tracing for the server, enabling observability for GraphQL requests,
PostgreSQL queries, and outbound HTTP calls.
- **Configuration & Bootstrapping**: Added comprehensive environment variable configuration with
Zod validation and a dedicated bootstrap module to ensure telemetry initializes before
application startup.
- **Graceful Shutdown**: Integrated telemetry shutdown into the server's lifecycle to ensure all
spans are flushed before process exit.
- **Testing & Documentation**: Added unit tests for environment configuration, integration tests
for the telemetry pipeline, and updated the README with observability setup instructions.
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Added a server script to create/match
Auth0 users and seed `business_users` mappings for migration testing.
- Extended `Auth0ManagementService` with user lookup by email and optional password for
blocked-user creation; adjusted password reset ticket handling.
- [#3174](https://github.com/Urigo/accounter-fullstack/pull/3174)
[`b7621b3`](https://github.com/Urigo/accounter-fullstack/commit/b7621b343dd8e49a24903e2f42f56589f76d7892)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Authentication Component Renaming**:
Renamed core authentication files and classes, including `AuthContextV2Provider` to
`AuthContextProvider` and `authPluginV2` to `authPlugin`, removing the 'V2' suffix to signify
their stable status.
- [#3096](https://github.com/Urigo/accounter-fullstack/pull/3096)
[`2ddc822`](https://github.com/Urigo/accounter-fullstack/commit/2ddc8223b2a90d4820416a40940fa43cba928542)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Owner ID Integration**: The `owner_id`
field has been added to both miscellaneous expenses and salary records to ensure proper ownership
tracking for financial entries.
- **Salary Record Upload Refinements**: The process for uploading salary records from files has
been made more robust, including improved data validation and more reliable handling of
associated charges.
- **Data Validation Enhancement**: Null checks in salary data parsing functions were updated to
explicitly differentiate between `null` and `undefined` values, preventing potential errors
during file processing.
- [#3190](https://github.com/Urigo/accounter-fullstack/pull/3190)
[`75c1c91`](https://github.com/Urigo/accounter-fullstack/commit/75c1c9156109bf3386d93394c3070f7ec24f631b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **API Key Authentication
Implementation**: Implemented the core logic for API key authentication within the
`AuthContextProvider`, allowing the system to validate API keys against a database, check for
revocation, and establish an authentication context.
- **API Key Usage Tracking**: Introduced a mechanism to track API key usage by updating a
`last_used_at` timestamp in the database, with a built-in hourly throttling to reduce write
amplification.
- [#3063](https://github.com/Urigo/accounter-fullstack/pull/3063)
[`6d2fdff`](https://github.com/Urigo/accounter-fullstack/commit/6d2fdfffef81eb80047a6706648598495c4ae299)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **PostgreSQL Connection Limits**: Reduced
the default maximum PostgreSQL client connections from 100 to 20 to better manage database
resources and prevent exhaustion.
- **Database Client Disposal Logic**: Improved the `TenantAwareDBClient` disposal logic to prevent
connection leaks, handle cases where an active client is still present during disposal, and
ensure proper cleanup in error scenarios.
- **Asynchronous Cleanup Execution**: Ensured that database client cleanup operations are properly
awaited in the execution pipeline, specifically within the `dbCleanupPlugin`, to guarantee
connections are released before responses are sent and prevent connection accumulation.
- [#3132](https://github.com/Urigo/accounter-fullstack/pull/3132)
[`f1088e9`](https://github.com/Urigo/accounter-fullstack/commit/f1088e9683bd4fe4460899763be9882dec0b39d0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **DataLoader Cache Keys**: Ensured stable
and consistent cache keys for DataLoader instances to improve cache hits and prevent unexpected
behavior.
- **Date Handling**: Standardized date handling in cache keys to avoid issues caused by timezones
or inconsistent date representations.
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Backend Authentication Refactoring**:
Transitioned the backend's dependency injection pattern from `AUTH_CONTEXT` injection tokens to
direct provider injection for `AuthContextProvider` and `AdminContextProvider` to handle
asynchronous context loading more effectively.
- **Frontend Auth0 Integration**: Implemented Auth0 login on the client-side, including a new
dedicated callback page and modifications to the existing login page to support a dual
authentication mechanism during the transition period.
- **Enhanced Row-Level Security (RLS) Enforcement**: Modified the `TenantAwareDBClient` to
exclusively rely on the `AuthContextProvider` for RLS variables, removing temporary fallbacks to
legacy user context.
- [#3240](https://github.com/Urigo/accounter-fullstack/pull/3240)
[`ec5229a`](https://github.com/Urigo/accounter-fullstack/commit/ec5229a331ddaa77e7098ba4bc1932f9d20eaf41)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Ensured Unique Extended Charges**:
Modified the `getChargesByFilters` SQL query to use a `LEFT JOIN LATERAL` with `LIMIT 1` when
joining `extended_charges`, preventing potential duplicate charge entries if multiple
`extended_charges` exist for a single charge ID.
- **Improved Query Sorting Determinism**: Updated the `ORDER BY` clause in the
`getChargesByFilters` query to include `ec.id` as a final tie-breaker, ensuring consistent and
deterministic sorting of results.
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **TenantAwareDBClient Registration**: The
`TenantAwareDBClient` is now registered as an operation-scoped provider in GraphQL Modules,
enabling dependency injection for RLS enforcement.
- **ESLint Rule for DBProvider**: Added an ESLint rule to prevent direct imports of `DBProvider`
in resolver and service files, encouraging the use of `TenantAwareDBClient`.
- [#3067](https://github.com/Urigo/accounter-fullstack/pull/3067)
[`fbfad66`](https://github.com/Urigo/accounter-fullstack/commit/fbfad66dae7876e2d6f0e7c064a11304d9768892)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Frontend Enhancement**: Implemented a
new free text search input field within the charges filter user interface, allowing users to
search for charges using keywords.
- **Database Schema Update**: Introduced a database migration to enhance the `extended_charges`
view with a `merged_search_text` column, which concatenates various textual fields (user
descriptions, transaction details, document information) for comprehensive search capabilities.
- **API and Backend Integration**: Extended the GraphQL schema to support a `freeText` filter for
charges and integrated this filter into the backend charges provider, utilizing the new
`merged_search_text` column for efficient filtering.
- [#3170](https://github.com/Urigo/accounter-fullstack/pull/3170)
[`376a3a5`](https://github.com/Urigo/accounter-fullstack/commit/376a3a5a9fc8b3ff6b7ca28f3de04365109a9bb6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Added `test-auth0-parallel.ts` script to
test Auth0 JWT verification and database access with RLS context
- Integrated `AuthContextV2Provider` into the DI container in `modules-app.ts`
- Added npm script `test:auth0-parallel` to run the test script
- [#3205](https://github.com/Urigo/accounter-fullstack/pull/3205)
[`3eb28e0`](https://github.com/Urigo/accounter-fullstack/commit/3eb28e045b6403a6da039c5af2d79bff069ff6ac)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Adds a new client-side
`AcceptInvitationPage` with login-redirect support, a `useAcceptInvitation` hook, and routing
configuration, plus associated session storage plumbing in `auth-callback` and `PublicOnlyGuard`
to preserve the invitation return-to URL across the Auth0 login flow.
- Introduces `getJwtIdentity()` on `AuthContextProvider` and `getUserEmailById()` on
`Auth0ManagementProvider` to support fallback identity resolution when the full auth context
isn't established, and adds verified-email-based relinking of Auth0 subjects in
`mapAuth0UserToLocal`.
- Reorders `insertBusinessUser` before `insertInvitation` in the invitation creation flow and
updates vitest config to support `@` alias and `.tsx` test files.
- [#3080](https://github.com/Urigo/accounter-fullstack/pull/3080)
[`d5a78d2`](https://github.com/Urigo/accounter-fullstack/commit/d5a78d27d80d36a1fea20756e178a42f65e0aead)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Migration for RLS**: A new
migration was added to introduce a nullable `owner_id` column to 38 tables within the
`accounter_schema`. This is explicitly noted as 'Phase 1 of 4' in the broader strategy to
implement Row-Level Security (RLS).
- **SQL Query Adjustments**: Several existing SQL queries across various modules were updated to
either explicitly select columns instead of using `SELECT *`, or to correctly qualify the
`owner_id` column with its table alias to prevent ambiguity.
- **Mock Data Enhancement**: Mock data creation functions for `Transaction` and `Document` objects
now include a default `owner_id`, ensuring consistency with the evolving database schema.
- [#2982](https://github.com/Urigo/accounter-fullstack/pull/2982)
[`859a42a`](https://github.com/Urigo/accounter-fullstack/commit/859a42a4fd67574f9c45d5f721f83e2df93b921e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Auth0 JWT Integration**: Introduced the
`AuthContextV2Provider` to handle JWT authentication, verifying tokens using Auth0's JSON Web Key
Set (JWKS) and the `jose` library.
- **Environment Configuration for Auth0**: Added `Auth0Model` to `environment.ts` to validate and
expose `AUTH0_DOMAIN` and `AUTH0_AUDIENCE` environment variables, ensuring they are provided
together.
- **Expanded Authentication Context**: The `AuthContext` and related types (`AuthUser`,
`TenantContext`) have been significantly extended to include more detailed user information
(e.g., email, permissions, `auth0UserId`, `emailVerified`) and `accessTokenExpiresAt`.
- **Database Mapping for Auth0 Users**: Implemented logic to map authenticated Auth0 user IDs to
existing local user and business IDs in the `accounter_schema.business_users` table.
- **New Dependency**: The `jose` library (version `6.1.3`) has been added to `package.json` and
`yarn.lock` to facilitate JWT operations.
- **Unit Tests for Auth Context**: New unit tests for `AuthContextV2Provider` were added, covering
various scenarios like null auth types, API key placeholders, successful JWT verification, and
different failure modes.
- [#3184](https://github.com/Urigo/accounter-fullstack/pull/3184)
[`6959737`](https://github.com/Urigo/accounter-fullstack/commit/6959737eef1674deacab4364b3380e5f40394147)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Invitation Creation Mutation**:
Introduced a new GraphQL mutation `createInvitation` allowing `business_owner` roles to invite new
users to their organization.
- **Auth0 Integration**: Integrated with the Auth0 Management API to create blocked user accounts
for invited individuals, ensuring centralized user management.
- **Robust Error Handling**: Implemented comprehensive error handling for Auth0 API interactions,
gracefully managing rate limits and conflicts (e.g., user already exists) by mapping them to
specific GraphQL errors.
- **Database Persistence and Audit Logging**: Ensured that invitation details are persisted in the
database, a corresponding `business_users` record is pre-created, and an audit log entry is
generated for each invitation created.
- [#3057](https://github.com/Urigo/accounter-fullstack/pull/3057)
[`cac79a9`](https://github.com/Urigo/accounter-fullstack/commit/cac79a983189c61e40d9e66a6a7a0da133aff31a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized Temporary Fallback**: A
temporary fallback mechanism has been introduced directly into the `TenantAwareDBClient` to use
legacy authentication (`context.currentUser?.userId`) when `authContext` is not yet available
during the migration phase.
- **Simplified Provider Migration**: Providers can now directly inject `TenantAwareDBClient`
without needing to implement their own intermediate RLS workaround code, streamlining the
migration process.
- **Streamlined Cleanup**: The future cleanup process for temporary RLS logic is simplified, as it
is now centralized within `TenantAwareDBClient` rather than being scattered across multiple
provider files.
- **ChargesProvider Update**: The `ChargesProvider` has been updated to directly inject
`TenantAwareDBClient`, removing its previous temporary RLS client setup.
- **Removal of Old Helper**: The `getRlsDbClient` helper function and the `rlsContextPlugin` have
been removed as they are no longer required with the new strategy.
- **New DB Cleanup Plugin**: A new `dbCleanupPlugin` has been introduced to manage the disposal of
`TenantAwareDBClient` instances, ensuring proper resource management and preventing connection
leaks.
- Updated dependencies
[[`88e8bb9`](https://github.com/Urigo/accounter-fullstack/commit/88e8bb914be1965333e0b899537562c8877782a1),
[`560aaa4`](https://github.com/Urigo/accounter-fullstack/commit/560aaa4e320f71cc9a721945d3ead070c4b5cfed),
[`992e2ed`](https://github.com/Urigo/accounter-fullstack/commit/992e2edb1507dcb64ccf07b24b7b850fe6fe815b),
[`2265bd3`](https://github.com/Urigo/accounter-fullstack/commit/2265bd35a651989d47f1e791c8638b82f4bdeaf0),
[`26474f3`](https://github.com/Urigo/accounter-fullstack/commit/26474f32495cc9fe028476840bd3d15fee8b5143),
[`69a150b`](https://github.com/Urigo/accounter-fullstack/commit/69a150bcb25903593316b4c9d3f344b428585a72),
[`cb0dbc5`](https://github.com/Urigo/accounter-fullstack/commit/cb0dbc518e8f31a0e69180d83c444658a6ca019e),
[`43dab70`](https://github.com/Urigo/accounter-fullstack/commit/43dab70e682bd96b4e7c252a2bbda94df8f0e0ba),
[`6ad77d5`](https://github.com/Urigo/accounter-fullstack/commit/6ad77d50d6a9b2cf93a097c593f45ef314ce58b2),
[`88e8bb9`](https://github.com/Urigo/accounter-fullstack/commit/88e8bb914be1965333e0b899537562c8877782a1),
[`79fef66`](https://github.com/Urigo/accounter-fullstack/commit/79fef668ca7a7f2b2411ae5f5d4d0bdc5bb2fa2b),
[`79fef66`](https://github.com/Urigo/accounter-fullstack/commit/79fef668ca7a7f2b2411ae5f5d4d0bdc5bb2fa2b),
[`88e8bb9`](https://github.com/Urigo/accounter-fullstack/commit/88e8bb914be1965333e0b899537562c8877782a1),
[`79fef66`](https://github.com/Urigo/accounter-fullstack/commit/79fef668ca7a7f2b2411ae5f5d4d0bdc5bb2fa2b),
[`4d4e60d`](https://github.com/Urigo/accounter-fullstack/commit/4d4e60dd85f6c7779c556b513e2de844615dd293),
[`1815013`](https://github.com/Urigo/accounter-fullstack/commit/181501367c4dbdeb0010296e7d418af955f4e75e)]:
- @accounter/green-invoice-graphql@0.8.5
- @accounter/pcn874-generator@0.6.6
- @accounter/shaam-uniform-format-generator@0.2.5
- @accounter/shaam6111-generator@0.1.7
## 0.0.10
### Patch Changes
- [#2791](https://github.com/Urigo/accounter-fullstack/pull/2791)
[`6a9292c`](https://github.com/Urigo/accounter-fullstack/commit/6a9292c5901336182e7a46a8f04f79adb2ebad35)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@168.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/168.0.0)
(from `167.0.0`, in `dependencies`)
- [#2792](https://github.com/Urigo/accounter-fullstack/pull/2792)
[`523a362`](https://github.com/Urigo/accounter-fullstack/commit/523a3623f1825b3c4c7c4591f06ce88b77f8bf89)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.54` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.54) (from
`2.0.53`, in `dependencies`)
- [#2811](https://github.com/Urigo/accounter-fullstack/pull/2811)
[`8d945df`](https://github.com/Urigo/accounter-fullstack/commit/8d945df956dae8c2711eaa31d592d2bfcdbfd9cd)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.110` ↗︎](https://www.npmjs.com/package/ai/v/5.0.110) (from `5.0.108`,
in `dependencies`)
- [#2816](https://github.com/Urigo/accounter-fullstack/pull/2816)
[`6a9926c`](https://github.com/Urigo/accounter-fullstack/commit/6a9926c3948fa736e2c52ce93207b4f35e28f931)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.56` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.56) (from
`2.0.54`, in `dependencies`)
- Updated dependency [`ai@5.0.113` ↗︎](https://www.npmjs.com/package/ai/v/5.0.113) (from `5.0.110`,
in `dependencies`)
- [#2824](https://github.com/Urigo/accounter-fullstack/pull/2824)
[`ca5e62b`](https://github.com/Urigo/accounter-fullstack/commit/ca5e62b91faaf33c99ac178575304797150efe1a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@4.2.0` ↗︎](https://www.npmjs.com/package/zod/v/4.2.0) (from `4.1.13`, in
`dependencies`)
- [#2828](https://github.com/Urigo/accounter-fullstack/pull/2828)
[`bfe3085`](https://github.com/Urigo/accounter-fullstack/commit/bfe30852483b8ab5f10906776005546542a4c068)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@169.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/169.0.0)
(from `168.0.0`, in `dependencies`)
- [#2829](https://github.com/Urigo/accounter-fullstack/pull/2829)
[`73b11ba`](https://github.com/Urigo/accounter-fullstack/commit/73b11ba1fd676a21b4ba44fe99e2bfd181e513dc)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@4.2.1` ↗︎](https://www.npmjs.com/package/zod/v/4.2.1) (from `4.2.0`, in
`dependencies`)
- [#2833](https://github.com/Urigo/accounter-fullstack/pull/2833)
[`5101bed`](https://github.com/Urigo/accounter-fullstack/commit/5101bede64671d83d5e8ffd157e90a3623f9bd1e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.114` ↗︎](https://www.npmjs.com/package/ai/v/5.0.114) (from `5.0.113`,
in `dependencies`)
- [#2835](https://github.com/Urigo/accounter-fullstack/pull/2835)
[`eba068e`](https://github.com/Urigo/accounter-fullstack/commit/eba068e3ec3ee3b19450cb42f19d468504b422e0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.115` ↗︎](https://www.npmjs.com/package/ai/v/5.0.115) (from `5.0.114`,
in `dependencies`)
- [#2844](https://github.com/Urigo/accounter-fullstack/pull/2844)
[`0c958e5`](https://github.com/Urigo/accounter-fullstack/commit/0c958e5d914aa88fd9c367b30f353a552c5636c4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.18.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.18.0)
(from `3.17.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.18.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.18.0) (from `5.17.1`,
in `dependencies`)
- [#2850](https://github.com/Urigo/accounter-fullstack/pull/2850)
[`0e34832`](https://github.com/Urigo/accounter-fullstack/commit/0e34832a3755a67cf627c75e2669e3ff58654f9f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.116` ↗︎](https://www.npmjs.com/package/ai/v/5.0.116) (from `5.0.115`,
in `dependencies`)
- [#2862](https://github.com/Urigo/accounter-fullstack/pull/2862)
[`d734f50`](https://github.com/Urigo/accounter-fullstack/commit/d734f50264cb4160fa1bd3538fa185192298b603)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.1` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.1) (from
`2.0.56`, in `dependencies`)
- Updated dependency [`ai@6.0.3` ↗︎](https://www.npmjs.com/package/ai/v/6.0.3) (from `5.0.116`, in
`dependencies`)
- [#2873](https://github.com/Urigo/accounter-fullstack/pull/2873)
[`eea8a89`](https://github.com/Urigo/accounter-fullstack/commit/eea8a89638a3893814fd9a341e0080922fc703a1)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@4.3.2` ↗︎](https://www.npmjs.com/package/zod/v/4.3.2) (from `4.2.1`, in
`dependencies`)
- [#2876](https://github.com/Urigo/accounter-fullstack/pull/2876)
[`30eea05`](https://github.com/Urigo/accounter-fullstack/commit/30eea059168e41803441fbadbec53388c7778f6e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.2` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.2) (from
`3.0.1`, in `dependencies`)
- Updated dependency [`ai@6.0.5` ↗︎](https://www.npmjs.com/package/ai/v/6.0.5) (from `6.0.3`, in
`dependencies`)
- [#2877](https://github.com/Urigo/accounter-fullstack/pull/2877)
[`1c209c8`](https://github.com/Urigo/accounter-fullstack/commit/1c209c8a6045bef747039bbff3780812c6b8678f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@4.3.4` ↗︎](https://www.npmjs.com/package/zod/v/4.3.4) (from `4.3.2`, in
`dependencies`)
- [#2879](https://github.com/Urigo/accounter-fullstack/pull/2879)
[`486eaa1`](https://github.com/Urigo/accounter-fullstack/commit/486eaa16d72d059ac2740e088fe09c6ea0e283a7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@6.0.6` ↗︎](https://www.npmjs.com/package/ai/v/6.0.6) (from `6.0.5`, in
`dependencies`)
- [#2881](https://github.com/Urigo/accounter-fullstack/pull/2881)
[`bc3ab26`](https://github.com/Urigo/accounter-fullstack/commit/bc3ab260704b677363561ef1c9403eac704a29aa)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@4.3.5` ↗︎](https://www.npmjs.com/package/zod/v/4.3.5) (from `4.3.4`, in
`dependencies`)
- [#2891](https://github.com/Urigo/accounter-fullstack/pull/2891)
[`54a68ad`](https://github.com/Urigo/accounter-fullstack/commit/54a68ad2d3690570e62021440c7248a3d08df052)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@6.0.7` ↗︎](https://www.npmjs.com/package/ai/v/6.0.7) (from `6.0.6`, in
`dependencies`)
- [#2895](https://github.com/Urigo/accounter-fullstack/pull/2895)
[`7d5a8c3`](https://github.com/Urigo/accounter-fullstack/commit/7d5a8c3fb0e1bf25011b02ab6289a2fd644db811)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.6` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.6) (from
`3.0.2`, in `dependencies`)
- Updated dependency [`ai@6.0.11` ↗︎](https://www.npmjs.com/package/ai/v/6.0.11) (from `6.0.7`, in
`dependencies`)
- [#2898](https://github.com/Urigo/accounter-fullstack/pull/2898)
[`7a99847`](https://github.com/Urigo/accounter-fullstack/commit/7a998472e99cd3c56f6ba182a803757d882a36bb)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.7` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.7) (from
`3.0.6`, in `dependencies`)
- Updated dependency [`ai@6.0.12` ↗︎](https://www.npmjs.com/package/ai/v/6.0.12) (from `6.0.11`, in
`dependencies`)
- [#2899](https://github.com/Urigo/accounter-fullstack/pull/2899)
[`d4bd2e6`](https://github.com/Urigo/accounter-fullstack/commit/d4bd2e6ad130cfea90b6e71832fdaaf74a1db5c9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@google-cloud/pubsub@5.2.1` ↗︎](https://www.npmjs.com/package/@google-cloud/pubsub/v/5.2.1)
(from `5.2.0`, in `dependencies`)
- Updated dependency [`ai@6.0.14` ↗︎](https://www.npmjs.com/package/ai/v/6.0.14) (from `6.0.12`, in
`dependencies`)
- [#2902](https://github.com/Urigo/accounter-fullstack/pull/2902)
[`b7eb5e1`](https://github.com/Urigo/accounter-fullstack/commit/b7eb5e1a74a609066282cad1e91152b1e90d1581)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@170.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/170.0.0)
(from `169.0.0`, in `dependencies`)
- [#2904](https://github.com/Urigo/accounter-fullstack/pull/2904)
[`17ae14f`](https://github.com/Urigo/accounter-fullstack/commit/17ae14f2482ad876e1adce23cdbc7cb173b88dfb)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.12` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.12) (from
`3.0.7`, in `dependencies`)
- Updated dependency [`ai@6.0.31` ↗︎](https://www.npmjs.com/package/ai/v/6.0.31) (from `6.0.14`, in
`dependencies`)
- [#2908](https://github.com/Urigo/accounter-fullstack/pull/2908)
[`066d81f`](https://github.com/Urigo/accounter-fullstack/commit/066d81fa43b24dc3cb025cdcbafef3fdd1acc654)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.47.0` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.47.0) (from
`0.46.0`, in `dependencies`)
- [#2914](https://github.com/Urigo/accounter-fullstack/pull/2914)
[`3a64674`](https://github.com/Urigo/accounter-fullstack/commit/3a64674117ca16d96697f6b8de61e60d354405f9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@6.0.33` ↗︎](https://www.npmjs.com/package/ai/v/6.0.33) (from `6.0.31`, in
`dependencies`)
- [#2922](https://github.com/Urigo/accounter-fullstack/pull/2922)
[`b01d45e`](https://github.com/Urigo/accounter-fullstack/commit/b01d45e4d46ebdd57e4130cffd88f80cf8abd664)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.13` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.13) (from
`3.0.12`, in `dependencies`)
- Updated dependency
[`@google-cloud/pubsub@5.2.2` ↗︎](https://www.npmjs.com/package/@google-cloud/pubsub/v/5.2.2)
(from `5.2.1`, in `dependencies`)
- Updated dependency [`ai@6.0.34` ↗︎](https://www.npmjs.com/package/ai/v/6.0.34) (from `6.0.33`, in
`dependencies`)
- [#2923](https://github.com/Urigo/accounter-fullstack/pull/2923)
[`4af9915`](https://github.com/Urigo/accounter-fullstack/commit/4af9915f505d4ac913af984ad5ccfb307281b15c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.17.0` ↗︎](https://www.npmjs.com/package/pg/v/8.17.0) (from `8.16.3`, in
`dependencies`)
- [#2928](https://github.com/Urigo/accounter-fullstack/pull/2928)
[`afab992`](https://github.com/Urigo/accounter-fullstack/commit/afab99296e6c4d0d25cce4a04cc14b6183c21067)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.15` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.15) (from
`3.0.13`, in `dependencies`)
- Updated dependency [`ai@6.0.40` ↗︎](https://www.npmjs.com/package/ai/v/6.0.40) (from `6.0.34`, in
`dependencies`)
- Updated dependency [`pg@8.17.1` ↗︎](https://www.npmjs.com/package/pg/v/8.17.1) (from `8.17.0`, in
`dependencies`)
- [#2934](https://github.com/Urigo/accounter-fullstack/pull/2934)
[`2cb9621`](https://github.com/Urigo/accounter-fullstack/commit/2cb9621452a73693c2e813ab530b32acbd129850)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@170.1.0` ↗︎](https://www.npmjs.com/package/googleapis/v/170.1.0)
(from `170.0.0`, in `dependencies`)
- [#2936](https://github.com/Urigo/accounter-fullstack/pull/2936)
[`c522ff5`](https://github.com/Urigo/accounter-fullstack/commit/c522ff598b080dc496c74ba90d0d506850cc0acb)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.9.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.9.0)
(from `2.8.0`, in `dependencies`)
- [#2938](https://github.com/Urigo/accounter-fullstack/pull/2938)
[`2218773`](https://github.com/Urigo/accounter-fullstack/commit/22187738e1e68957cb2b1fc439205a7de9b0579c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`graphql-modules@3.1.1` ↗︎](https://www.npmjs.com/package/graphql-modules/v/3.1.1) (from
`3.0.0`, in `dependencies`)
- [#2946](https://github.com/Urigo/accounter-fullstack/pull/2946)
[`32fb7b4`](https://github.com/Urigo/accounter-fullstack/commit/32fb7b496fbe5a42badd5cddb8608f7e7f260cd3)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@3.0.17` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/3.0.17) (from
`3.0.15`, in `dependencies`)
- Updated dependency [`ai@6.0.42` ↗︎](https://www.npmjs.com/package/ai/v/6.0.42) (from `6.0.40`, in
`dependencies`)
- Updated dependency [`pg@8.17.2` ↗︎](https://www.npmjs.com/package/pg/v/8.17.2) (from `8.17.1`, in
`dependencies`)
- [#2951](https://github.com/Urigo/accounter-fullstack/pull/2951)
[`ac8885f`](https://github.com/Urigo/accounter-fullstack/commit/ac8885f2144b8529109bfc5a83881f399fc06cef)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@11.1.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/11.1.0)
(from `11.0.0`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@9.1.0` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/9.1.0)
(from `9.0.0`, in `dependencies`)
- [#2851](https://github.com/Urigo/accounter-fullstack/pull/2851)
[`e1b8941`](https://github.com/Urigo/accounter-fullstack/commit/e1b8941948cc947a25dd85cd60a67a95a42021bd)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Duplicate Contract Feature**:
Introduced the ability to duplicate existing contracts, allowing users to quickly create new
contracts based on an existing one's details.
- **User Interface Enhancements**: Added a dedicated 'Duplicate Contract' button to the contract
card and integrated a new option within the contract modification dialog to deactivate the
original contract upon duplication.
- **Backend Flexibility for Purchase Orders**: The `purchaseOrders` field in contract updates has
been made optional, both in the GraphQL input type and the resolver logic, to accommodate cases
where it might be empty or undefined.
- [#2884](https://github.com/Urigo/accounter-fullstack/pull/2884)
[`8c87187`](https://github.com/Urigo/accounter-fullstack/commit/8c871871d3ebc99c93b12cd45f22a6e082536f56)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New `createRemarks` Helper Function**:
A new utility function, `createRemarks`, has been introduced to standardize the generation of
document remarks, ensuring consistent formatting for purchase orders and existing contract
remarks.
- **VAT Type Deduction Logic Update**: The `deduceVatTypeFromBusiness` function now utilizes the
`locality` property from the `GraphQLModules.Context` for determining the VAT type, enhancing
accuracy and consistency.
- [#2945](https://github.com/Urigo/accounter-fullstack/pull/2945)
[`37adbe1`](https://github.com/Urigo/accounter-fullstack/commit/37adbe170fdb430d287482e27391cc08b0892cbb)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Bank Deposit Charges Provider
Enhancement**: The `BankDepositChargesProvider` now includes a new public method,
`deleteChargeDepositsByChargeIds`, which wraps the new SQL deletion query. This method provides an
interface for other parts of the application to trigger the removal of bank deposit linkages for
specific charges.
- **Integration with Charge Deletion Process**: The `deleteCharges` helper function has been
updated to incorporate the new bank deposit linkage deletion logic. When a charge is deleted,
the system will now also attempt to clear any associated bank deposit records using the new
provider method, ensuring data consistency and preventing orphaned entries. Robust error
handling has been added for this operation.
- [#2874](https://github.com/Urigo/accounter-fullstack/pull/2874)
[`9aad7bf`](https://github.com/Urigo/accounter-fullstack/commit/9aad7bf12c8853950852d5645725f58777b5f042)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Demo Staging Dataset System**:
Introduced a comprehensive system for seeding rich, deterministic financial data for staging and
development environments, based on predefined use-cases.
- **Comprehensive Ledger Validation**: Implemented a robust validation layer
(`packages/server/src/demo-fixtures/validators/`) that performs per-record, aggregate, and
entity-level balance checks, along with data integrity, foreign currency, and date validations.
- **Use-Case Driven Data Seeding**: The system now uses a registry of self-contained financial
scenarios (`packages/server/src/demo-fixtures/use-cases/`) that can be seeded with a single
command, ensuring stable entity IDs across deployments using deterministic UUIDs.
- **New NPM Scripts and Test Suite**: Added new `package.json` scripts (`seed:staging-demo`,
`validate:demo`, `test:demo-seed`) and a dedicated Vitest project (`demo-seed`) for end-to-end
testing of the seeding and validation pipeline.
- **Refactored Seed Helpers**: Centralized and improved helpers for idempotent creation of
financial entities, businesses, and tax categories, along with new helpers for seeding exchange
rates and VAT defaults.
- **Extensive Documentation**: New documentation files (`docs/demo-staging-dataset-spec.md`,
`docs/demo-staging-dataset-prompt-plan.md`, `docs/demo-staging-dataset-todo.md`,
`packages/server/docs/demo-staging-guide.md`) provide detailed specifications, implementation
plans, and developer guides.
- [#2948](https://github.com/Urigo/accounter-fullstack/pull/2948)
[`2e779f1`](https://github.com/Urigo/accounter-fullstack/commit/2e779f1943e983bfa23c6e1c3b0a85897e0be580)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **PCN Report Date Fix**: Corrected an
issue with PCN (Payment Card Number) report snapshot dates by implementing fake timers in tests,
ensuring consistent date generation for reports.
- [#2941](https://github.com/Urigo/accounter-fullstack/pull/2941)
[`d14f2e1`](https://github.com/Urigo/accounter-fullstack/commit/d14f2e157209a90315edf7676a8ab80c25726bd1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Table Refactoring**: The VAT report's
expenses and income tables have been refactored to utilize the `@tanstack/react-table` library,
replacing custom table rendering logic.
- **New Column Definitions**: Dedicated `columns.tsx` files were introduced for both expenses and
income sections, centralizing column configurations and enabling features like sorting and row
expansion.
- **Improved Table Functionality**: The refactoring introduces advanced table features such as
sorting, column visibility management, and expandable rows for detailed charge information.
- **GraphQL Schema Update**: The `VatReportRecord` GraphQL type and its resolver were updated to
include an `allocationNumber` field, which is now displayed in the tables.
- **Code Simplification**: The previous `expenses-row.tsx` and `income-row.tsx` components have
been removed, as their rendering logic is now handled directly within the `expenses-table.tsx`
and `income-table.tsx` components using `react-table`'s `flexRender`.
- [#2831](https://github.com/Urigo/accounter-fullstack/pull/2831)
[`6136464`](https://github.com/Urigo/accounter-fullstack/commit/61364643eafac0c15ea5f444d3ecc9c33e854811)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New GraphQL Scalar for Country Codes**:
A new GraphQL scalar type, `CountryCode`, has been introduced to represent country codes. This
scalar includes validation to ensure that all country codes conform to the ISO 3166-1 alpha-3
standard.
- **Centralized CountryCode Enum**: The `CountryCode` enum definition has been moved from
`packages/server/src/modules/countries/types.ts` to a shared location at
`packages/server/src/shared/enums.ts`. This centralizes the enum, making it accessible across
different modules and ensuring consistency.
- **GraphQL Schema and Resolver Updates**: The GraphQL schema and various resolvers have been
updated to utilize the new `CountryCode` scalar and the shared enum. This includes changes in
`business-trips`, `countries`, and `financial-entities` modules to correctly handle country code
types.
- **Client-Side Component Adjustments**: Client-side components, specifically
`contact-info-section.tsx` and `accommodations-row.tsx`, have been modified to correctly query
and display country information, adapting to the new structured `Country` type and `CountryCode`
scalar.
- [#2893](https://github.com/Urigo/accounter-fullstack/pull/2893)
[`b317835`](https://github.com/Urigo/accounter-fullstack/commit/b3178356166245858be956319aa81bc61e6ff29c)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Deel Contract Schema Validation**: New
Zod schemas are introduced for comprehensive validation of Deel contract data, ensuring data
integrity and type safety across the application.
- **Deel Contract Details API Integration**: A new public method, `getContractDetails`, has been
added to the `DeelClientProvider` to fetch detailed contract information directly from the Deel
API, complete with robust error handling and schema validation.
- **Enhanced Invoice-Contract Matching**: The invoice processing logic in `fetchAndFilterInvoices`
now actively verifies that all invoices are linked to existing contracts. If a contract ID is
not found locally, it fetches details from Deel and raises an error, guiding users to manually
match the contract to prevent data inconsistencies.
- **Dynamic Charge Creation for Receipts**: The process for generating charges for new Deel
receipts has been refactored. Charges are now dynamically created within the resolver when a
receipt is encountered without an existing charge, streamlining the financial reconciliation
workflow.
- [#2916](https://github.com/Urigo/accounter-fullstack/pull/2916)
[`625b08e`](https://github.com/Urigo/accounter-fullstack/commit/625b08e1a617c9c9501831375766384da7c73394)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Negative VAT Handling**: Negative VAT
values, such as those found in credit invoices, are now correctly categorized as `SALE_REGULAR`
instead of being misclassified as `SALE_UNIDENTIFIED_ZERO_OR_EXEMPT`.
- [#2952](https://github.com/Urigo/accounter-fullstack/pull/2952)
[`460d270`](https://github.com/Urigo/accounter-fullstack/commit/460d27027ee7663b3fc1ace4239b77aa8e7f7f2b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Charge Type Refactoring**: Replaced the
boolean `isConversion` field with a comprehensive `ChargeType` enum across the application,
providing a more explicit and flexible way to categorize charges.
- **Database Migration**: A new database migration was added to enrich the
`accounter_schema.charge_type` enum with several new values, including 'BUSINESS_TRIP',
'COMMON', 'CREDITCARD_BANK', 'DIVIDEND', 'FOREIGN_SECURITIES', 'INTERNAL', and 'VAT'.
- **GraphQL Schema and Resolvers Update**: The GraphQL schema was updated to include the new
`ChargeType` enum and integrate it into the `Charge` input type.
- **Client-side UI Enhancements**: The UI for editing and merging charges was updated to replace
the 'Is Conversion' switch with a selectable dropdown for `ChargeType`, improving user
experience and data accuracy. Icons and names for charge types are now dynamically displayed
using helper functions.
- **Unified Charge Type Management**: Replaced disparate boolean flags (e.g., 'isConversion',
'isSalary') with a single, comprehensive 'ChargeType' enum across the application for better
categorization and extensibility.
- **Database Schema Evolution**: Introduced a new database migration to expand the
'accounter_schema.charge_type' enum with several new values, aligning the backend with the new
type system.
- **GraphQL API Modernization**: Updated the GraphQL schema to incorporate the new 'ChargeType'
enum, modifying input types for charge updates and ensuring all charge types expose their 'type'
via resolvers.
- **Enhanced User Interface for Charge Editing**: Revamped the client-side UI for editing and
merging charges, replacing simple boolean switches with a user-friendly dropdown selector for
'ChargeType', complete with dynamic icons and labels.
- **Streamlined Backend Logic**: Adjusted server-side helpers and resolvers to correctly handle
the new 'ChargeType' enum, ensuring consistent type assignment and retrieval throughout the
system.
- [#2806](https://github.com/Urigo/accounter-fullstack/pull/2806)
[`e06209f`](https://github.com/Urigo/accounter-fullstack/commit/e06209f3e99ddf00c5c2172d75891b983e43bcb0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Fixture Type Independence**: The test
fixture types (for businesses, tax categories, and financial accounts) have been decoupled from
the `pgtyped`-generated database types. This enhances test independence and flexibility, allowing
fixtures to define their own minimal interfaces.
- **Standardized Naming Convention**: The `createBusiness` and `createTaxCategory` factories now
use a generic `name` field for display purposes, replacing the more specific `hebrewName` and
`hashavshevetName` fields. The original specific fields are retained as optional/nullable.
- **Intelligent Name Defaulting**: New logic has been implemented in the `createBusiness` and
`createTaxCategory` factories to intelligently default the `name` field. If a `name` is not
explicitly provided, it will fall back to the `id` of the entity, ensuring a meaningful display
name in test scenarios.
- **Updated Fixture Usage and Tests**: All existing test files and fixture scenarios have been
updated to reflect the new `name` field and type definitions. This includes updates to factory
calls, test assertions, and the `fixture-loader`'s database insertion logic.
- [#2917](https://github.com/Urigo/accounter-fullstack/pull/2917)
[`09ae580`](https://github.com/Urigo/accounter-fullstack/commit/09ae5809b83f8d0f3d991380b9fef8e150081108)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Client UI Enhancement**: A new toggle
switch for "Is Decreased VAT" has been added to the `EditCharge` form, allowing users to directly
modify this status for individual charges.
- **Charge Merging Functionality**: The `MergeChargesSelectionForm` now supports viewing and
selecting the "Is Decreased VAT" status for charges during the merge process, enabling
consistent application of this attribute across merged charges.
- **GraphQL Schema Extension**: The GraphQL schema has been updated across various `Charge` and
`FinancialCharge` types to include a new `decreasedVAT: Boolean` field, and
`isDecreasedVAT: Boolean` in input types, to support this new attribute.
- **Server-Side Logic Update**: The server-side resolvers for `updateCharge`,
`batchUpdateCharges`, and `mergeCharges` have been modified to process the `isDecreasedVAT`
input. Notably, the `isDecreasedVAT` value is currently mapped to the `isProperty` field
(`is_property` attribute on `charges` DB table).
- [#2949](https://github.com/Urigo/accounter-fullstack/pull/2949)
[`97094b7`](https://github.com/Urigo/accounter-fullstack/commit/97094b70b60d4acbdf5c7ad92444c4b092daed72)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Generalized `getEntryTypeByRecord`
function**: The `getEntryTypeByRecord` function has been refactored to accept a more comprehensive
object containing `pcn874RecordType`, `isExpense`, `vatNumber`, `localVat`, and
`foreignVatAfterDeduction`. This allows for more dynamic and accurate inference of the PCN874
entry type when an explicit type is not provided.
- **Enhanced Error Handling for Unmapped Types**: The function now throws an error for unhandled
`pcn874RecordType` values, replacing a previous debug log. This ensures that any unmapped types
are explicitly caught and addressed, improving system robustness.
- **Conditional VAT Number Handling for Foreign Businesses**: The `adjustTaxRecord` function now
checks if a business is local and only includes the VAT number in the record if it is. For
foreign businesses, the VAT number is set to `undefined`, which correctly triggers the new
inference logic in `getEntryTypeByRecord` for foreign transactions.
- **Updated and Expanded Test Coverage**: Existing test cases for `getEntryTypeByRecord` have been
updated to match the new function signature, and new tests have been added to specifically cover
the inference logic for various edge cases. Snapshot tests were also updated and expanded to
include new scenarios for local customer credit invoices, ensuring the generated PCN874 reports
are accurate.
- [#2802](https://github.com/Urigo/accounter-fullstack/pull/2802)
[`f37d6fd`](https://github.com/Urigo/accounter-fullstack/commit/f37d6fd3f3721663609840177c8fc077fda0c8b0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized Test Database Management**:
Integration tests now leverage a `TestDatabase` utility class, centralizing database connection,
pooling, and transaction management for improved consistency and isolation.
- **Transactional Test Isolation**: Individual test cases are now wrapped in `db.withTransaction`
blocks, ensuring that each test runs within its own transaction and automatically rolls back
changes, preventing data leakage between tests.
- **Simplified Test Setup/Teardown**: The `beforeAll`, `afterAll`, `beforeEach`, and `afterEach`
hooks in several test files have been streamlined, removing manual `pg.Pool` and `pg.PoolClient`
management in favor of the `TestDatabase` class's methods.
- **Removed Obsolete Function**: The `resetSetupFlags` function, previously a no-op, has been
removed from `db-setup.ts`.
- **Import Path Correction**: A minor import path correction for `DBProvider` was made in
`business-trips.provider.ts`.
- [#2913](https://github.com/Urigo/accounter-fullstack/pull/2913)
[`e5e5ea9`](https://github.com/Urigo/accounter-fullstack/commit/e5e5ea9cf4e3ca1307bd17c81fe922738c1a132e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Receipt Prioritization in Matching**:
The definition of a "matched" charge has been updated. A charge is now considered matched if it
contains both transactions and receipt documents. Invoices and credit invoices no longer
contribute to a charge's matched status.
- **Document Aggregation Logic Refinement**: When aggregating documents for a charge, receipts are
now given higher priority. If receipts are present, only receipt-type documents will be
considered for aggregation, overriding invoices and credit invoices.
- **Unified Accounting Document Check**: The `isAccountingDocument` helper function has been
simplified to always include `Proforma` documents, removing the need for a separate
`includeProforma` parameter.
- **Code Cleanup**: Unused helper functions (`hasOnlyTransactions`, `hasOnlyDocuments`) and their
corresponding tests have been removed to streamline the codebase.
- [#2858](https://github.com/Urigo/accounter-fullstack/pull/2858)
[`eaaa23e`](https://github.com/Urigo/accounter-fullstack/commit/eaaa23eedfe57d2db4a60a5d86066df586325071)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Business Entity Enrichment**: Added
'city' and 'zipCode' fields to the Business entity across the application to provide more detailed
address information.
- **Database Schema Update and Cleanup**: A new migration introduces 'city' (VARCHAR(50)) and
'zip_code' (VARCHAR(15)) columns to the 'businesses' table. Concurrently, numerous deprecated
and unused columns (e.g., 'password', 'tax_siduri_number_2021', 'wizcloud_token',
'bank_account_IBAN') have been removed from the 'businesses' table.
- **UI and API Integration**: The new fields are integrated into various client-side forms (e.g.,
ContactInfoSection, ClientForm, InsertBusiness modal) and GraphQL types/resolvers for both
querying and mutating business data.
- **Form Component Refactoring**: The 'insert-business-fields.tsx' and
'modify-business-fields.tsx' components were removed, indicating a potential consolidation or
simplification of business form logic.
- [#2862](https://github.com/Urigo/accounter-fullstack/pull/2862)
[`d734f50`](https://github.com/Urigo/accounter-fullstack/commit/d734f50264cb4160fa1bd3538fa185192298b603)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Anthropic API Migration**: The
Anthropic API calls have been refactored to align with the new `ai` SDK, specifically migrating
from the `generateObject` function to `generateText` with an `Output.object` configuration for
structured responses.
- **Model Name Update**: The Anthropic model name used in the `AnthropicProvider` has been updated
from `claude-4-sonnet-20250514` to `claude-sonnet-4-5`.
- [#2832](https://github.com/Urigo/accounter-fullstack/pull/2832)
[`bc69d12`](https://github.com/Urigo/accounter-fullstack/commit/bc69d126abf0b594e0908bd924b42ffbefbfcecc)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Refactored Document Issuing Logic**:
The core document issuing and drafting functionalities have been extracted from the
`green-invoice` module and relocated to a new, dedicated `documents-issuing` module within the
`documents` domain. This enhances modularity and improves the separation of concerns.
- **Standardized Document Types**: Green Invoice specific enums like `GreenInvoiceDocumentLang`,
`GreenInvoiceVatType`, `GreenInvoiceDiscountType`, `GreenInvoicePaymentType`,
`GreenInvoicePaymentCardType`, and `GreenInvoiceLinkType` have been replaced with more generic
and reusable types such as `DocumentLanguage`, `DocumentVatType`, `DocumentDiscountType`,
`PaymentType`, `DocumentPaymentRecordCardType`, and `DocumentLinkType`. This change reduces
coupling to the Green Invoice API.
- **Standardized Country Codes**: A new `CountryCode` enum has been introduced in the client-side
helpers, replacing the Green Invoice specific country enum. This ensures consistent country
handling across the application.
- **Renamed Sync Functionality**: The `PullDocumentsModal` component and `useFetchIncomeDocuments`
hook have been renamed to `SyncDocumentsModal` and `useSyncGreenInvoiceDocuments` respectively,
to more accurately reflect their purpose of synchronizing documents with Green Invoice.
- **GraphQL Schema and Type Renames**: GraphQL types and fragments related to document drafting
have been renamed for clarity and consistency. `NewDocumentInfo` is now `DocumentDraft`, and
`NewDocumentInput` is `DocumentIssueInput`, with corresponding updates across queries and
mutations.
- [#2955](https://github.com/Urigo/accounter-fullstack/pull/2955)
[`6375322`](https://github.com/Urigo/accounter-fullstack/commit/63753228d270a4de7a0a3ac9240397bb57813d90)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Automatic Gmail Watch Renewal**: The
Gmail API watch subscription now automatically renews itself one day before its expiration,
preventing service interruptions and ensuring continuous real-time email processing.
- **Enhanced Health Check**: The `healthCheck` method for the Gmail listener has been upgraded to
perform an asynchronous call to the Gmail API (fetching user profile) to verify active
connectivity, providing a more accurate status.
- **Improved Error Handling**: The initial setup of Gmail push notifications now explicitly throws
an error if it fails, preventing the application from starting in a misconfigured or
non-functional state.
- [#2788](https://github.com/Urigo/accounter-fullstack/pull/2788)
[`4bbed45`](https://github.com/Urigo/accounter-fullstack/commit/4bbed4591cb3e23e129e46865e9ac4eb7d3b40d5)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Test Suite Split**: The project's test
suite has been formally split into distinct 'unit' and 'integration' test projects using Vitest,
enhancing organization and execution efficiency.
- **New Test Commands**: New `yarn` commands have been introduced: `yarn test` for unit tests,
`yarn test:integration` for both unit and integration tests, and `yarn test:all` for running all
suites.
- **Updated Documentation**: Both the root `README.md` and `packages/server/README.md` have been
updated with comprehensive documentation on the new test suite structure, how to run tests, and
prerequisites for integration tests.
- [#2813](https://github.com/Urigo/accounter-fullstack/pull/2813)
[`ed96294`](https://github.com/Urigo/accounter-fullstack/commit/ed962940d2c677486913ef7ddd2fc1c0e1c897f0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Hook for Admin Businesses**:
Implemented a new React hook, `useGetAdminBusinesses`, to specifically fetch and manage admin
business data, replacing the more generic financial entities.
- **VAT Report Filter Update**: Updated the VAT monthly report filters to utilize the new
`useGetAdminBusinesses` hook and changed the UI label from 'Financial Entities' to 'Report
Issuer (Admin Business)' for clarity.
- **Conditional Data Fetching**: Modified the VAT monthly report component to pause data fetching
when no admin business ID (represented by `financialEntityId`) is selected, preventing
unnecessary queries and potential errors.
- **Server-side Environment Validation**: Added a defensive null check in the server's
`PubsubServiceProvider` to ensure the Gmail environment configuration is present, throwing an
explicit error if it's missing.
- [#2912](https://github.com/Urigo/accounter-fullstack/pull/2912)
[`58aa5c9`](https://github.com/Urigo/accounter-fullstack/commit/58aa5c974d34fb482883ee534a8bf0e49ee122c7)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Property VAT Category**: Introduced a
new `propertyOutputVatTaxCategoryId` to specifically handle output VAT for property-related
charges, ensuring distinct categorization in ledger entries and reports.
- **VAT Adjustment Rule**: Implemented a '2/3 rule' for VAT calculation on property charges,
adjusting the VAT amount in both ledger generation and VAT report helpers.
- **Validation for Property Charges**: Added validation checks to ensure that charges marked as
'property' have the necessary `propertyOutputVatTaxCategoryId` configured and are associated
with depreciation records, preventing data inconsistencies.
- **Code Refactoring**: Refactored the `transformTransactions` function in `pcn.helper.ts` to
`transactionsFormVatReportRecords` for improved clarity and semantic accuracy.
- [#2796](https://github.com/Urigo/accounter-fullstack/pull/2796)
[`11b37d7`](https://github.com/Urigo/accounter-fullstack/commit/11b37d7543cf857859d7605c1e48c59870aedcc6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized Migration Verification
Logic**: Introduced a new helper module `migration-verification.ts` that centralizes the logic for
checking and asserting whether the latest database migration has been applied. This module
provides both a non-throwing `checkLatestMigration` function and an `assertLatestMigrationApplied`
function that throws an error if the migration is not found.
- **New CI/CD Migration Verification Script**: Added a new standalone script
`verify-migrations.ts` that leverages the centralized verification logic. This script connects
to a PostgreSQL database using environment variables and exits with a non-zero status if the
latest migration is not applied, making it suitable for CI/CD pipelines.
- **Refactored Test Suite**: Updated the `db-bootstrap.test.ts` file to utilize the newly created
`assertLatestMigrationApplied` utility, replacing the previous inline query for migration
verification. This improves consistency and reduces code duplication in tests.
- [#2920](https://github.com/Urigo/accounter-fullstack/pull/2920)
[`98e075c`](https://github.com/Urigo/accounter-fullstack/commit/98e075c58e76a836627aaa4620521c06dbf24f76)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **SQL Query Modification**: A
`WHERE t.id IS NOT NULL` clause has been added to the `getTransactionsByBankDeposits` SQL query.
This ensures that only deposit charges that have a corresponding transaction are included in the
results, effectively filtering out charges with no associated transactions.
- [#2868](https://github.com/Urigo/accounter-fullstack/pull/2868)
[`b2afb4d`](https://github.com/Urigo/accounter-fullstack/commit/b2afb4d3d4d6e622bed1960855216267fc8b5817)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Enhanced Deel Invoice Fetching**: The
system now fetches up to 500 Deel invoices by implementing pagination, ensuring a more
comprehensive retrieval of financial data.
- **Handling of Unlinked Invoices**: New logic has been introduced to automatically create charges
and corresponding records for Deel invoices that were previously unlinked or unmatched in the
system.
- **Refactored Invoice Processing**: The process for uploading Deel invoices and inserting their
records into the database has been centralized into a new helper function, improving code
modularity and error handling.
- **Improved Document Type Classification**: Refunded Deel invoices are now correctly identified
and classified as `CreditInvoice` documents, enhancing financial reporting accuracy.
- **Metadata Adjustment for Invoices**: The `description` and `remarks` fields for uploaded Deel
invoices have been swapped to provide more relevant information in the primary description
field.
- [#2864](https://github.com/Urigo/accounter-fullstack/pull/2864)
[`e54a986`](https://github.com/Urigo/accounter-fullstack/commit/e54a986aa8211566055fd7311141a61c1960aba6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Flexible Document Requirement**:
Introduced logic to conditionally require document entries based on a new
`charge.documents_optional_flag`, allowing charges to be processed even without associated
documents if specified.
- **Dynamic Invoice Date Calculation**: Modified the `invoiceDate` determination to use the
earliest transaction `valueDate` when documents are optional, ensuring proper ledger entry
creation for charges without associated documents.
- **Refined Error Handling**: Updated error messages to be more specific regarding missing
transaction or document entries, aligning with the new conditional requirement for documents.
- [#2940](https://github.com/Urigo/accounter-fullstack/pull/2940)
[`e2818d1`](https://github.com/Urigo/accounter-fullstack/commit/e2818d1c7715649c5ebdd63f0065606982a66c31)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Enhanced PCN Report Generation for
Foreign Customers**: Implemented specific logic within `getHeaderDataFromRecords` to correctly
categorize and sum sales from `EntryType.SALE_UNIDENTIFIED_CUSTOMER`, ensuring proper handling of
both zero-VAT and taxable transactions for foreign businesses.
- **Improved Transaction Classification**: Modified the `transactionsFromVatReportRecords`
function to accurately assign `EntryType.SALE_UNIDENTIFIED_CUSTOMER` to non-expense transactions
from foreign entities that have a VAT number but an undefined `pcn874RecordType`.
- **Refactoring and Export of Helper Functions**: Several internal helper functions
(`getHeaderDataFromRecords`, `getEntryTypeByRecord`, `getVatIdForTransaction`,
`getReferenceForTransaction`, `getTotalVAT`) were refactored, renamed, and exported to improve
modularity and testability.
- **Comprehensive Test Coverage**: Added extensive unit and integration tests, including snapshot
tests, for the PCN helper functions and the `getPcn874String` generation, specifically covering
foreign businesses with VAT, credit invoices, imports/exports, and various other edge cases to
ensure report accuracy.
- [#2800](https://github.com/Urigo/accounter-fullstack/pull/2800)
[`d08379c`](https://github.com/Urigo/accounter-fullstack/commit/d08379c1762d9af8ed085b25f84af34f423e3f69)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized UUID Generation**: The
deterministic UUID generation logic has been centralized into a new file,
`packages/server/src/demo-fixtures/helpers/deterministic-uuid.ts`, replacing the previous
`packages/server/src/__tests__/factories/ids.ts`.
- **UUID v5 Implementation**: The new `makeUUID` function now generates UUID v5, which is
specifically designed for deterministic UUIDs based on a namespace and a name. This ensures
stable and reproducible IDs across environments.
- **Structured ID Generation**: The `makeUUID` function now requires two arguments: a `namespace`
(e.g., 'business', 'charge') and a `name` (a semantic identifier). This provides better
organization and prevents ID collisions between different entity types.
- **Backward Compatibility**: A `makeUUIDLegacy` function has been introduced to maintain
compatibility with older calls that used a single seed or generated random UUIDs when no seed
was provided.
- **Codebase Migration**: All existing calls to `makeUUID` across various factory files, test
files, and fixture definitions have been updated to use the new centralized `makeUUID` or
`makeUUIDLegacy` functions with appropriate namespaces.
- **Improved Test Fixture Stability**: This change enhances the stability and reproducibility of
test fixtures and demo data, making it easier to reference specific entities in documentation
and external links without fear of IDs changing.
- [#2834](https://github.com/Urigo/accounter-fullstack/pull/2834)
[`6d3b566`](https://github.com/Urigo/accounter-fullstack/commit/6d3b566ea4eb18c46226d6579defe281df683c2a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Introduced client-aware date confidence
scoring with gentle mode for eligible scenarios
- Converted matching functions to async to support DataLoader-based client and status lookups
- Consolidated DocumentType usage from database string literals to shared enums
- Added PROFORMA to accounting document types to enable gentle scoring eligibility
- [#2950](https://github.com/Urigo/accounter-fullstack/pull/2950)
[`b0a7a13`](https://github.com/Urigo/accounter-fullstack/commit/b0a7a130af4e6d0aa3ed3dcc98c4cc946dc1faaf)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **VAT Report Summary UI**: Introduced a
new summary section at the top of the VAT monthly report, providing a high-level overview of key
financial figures such as Taxable Sales Total, Taxable Sales VAT, Zero/Exempt Sales, Equipment
Inputs, and Total VAT Amount.
- **Detailed/Summarized View Toggle**: Added a toggle functionality to the Income and Expenses
tables, allowing users to switch between a detailed table view and a summarized view grouped by
'Record Type'.
- **Record Type Column**: Integrated a new 'Record Type' column into the detailed Income and
Expenses tables, displaying both the raw record type code and its human-readable name.
- **UI Component Refactoring**: Refactored several report components (Business Trips, Expenses,
Income, Misc, Missing Info) to wrap their content within a `Card` component, enhancing visual
consistency and structure across the report.
- **Backend and GraphQL Updates**: Extended the GraphQL schema and resolvers to include
`recordType` and `isProperty` fields for VAT report charges, supporting the new summary and
detailed views.
- [#2855](https://github.com/Urigo/accounter-fullstack/pull/2855)
[`b6ad028`](https://github.com/Urigo/accounter-fullstack/commit/b6ad028230df89fb7c9d646b9407406456a52234)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Extension**: A new
migration has been added to the database to include 'description' and 'remarks' columns in the
'documents' table, allowing for more detailed document information storage.
- **Frontend UI Updates**: The user interface has been enhanced to display 'description' and
'remarks' in the recent business documents table and within document editing forms, providing
users with the ability to view and modify these new fields.
- **GraphQL API Integration**: The GraphQL schema, resolvers, and providers have been updated to
support the new 'description' and 'remarks' fields across various document types and input
operations (insert, update), ensuring API compatibility.
- **OCR and External Service Enhancements**: The OCR processing (Anthropic) and external
integrations (Gmail, Deel) have been modified to extract, capture, and store 'description' and
'remarks' automatically when new documents are processed or uploaded.
- [#2866](https://github.com/Urigo/accounter-fullstack/pull/2866)
[`a8ade58`](https://github.com/Urigo/accounter-fullstack/commit/a8ade5823342ff2fa6c7dbebd448281f0cf1a33b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Internal Transfer Logic Refinement**:
Updated the categorization logic for `ChargeTypeEnum.InternalTransfer` to identify transfers based
on whether a charge involves transactions across more than one unique account ID, replacing the
previous `internalWalletsIds` based check.
- Updated dependencies
[[`7d5a8c3`](https://github.com/Urigo/accounter-fullstack/commit/7d5a8c3fb0e1bf25011b02ab6289a2fd644db811),
[`d4bd2e6`](https://github.com/Urigo/accounter-fullstack/commit/d4bd2e6ad130cfea90b6e71832fdaaf74a1db5c9),
[`afab992`](https://github.com/Urigo/accounter-fullstack/commit/afab99296e6c4d0d25cce4a04cc14b6183c21067),
[`32fb7b4`](https://github.com/Urigo/accounter-fullstack/commit/32fb7b496fbe5a42badd5cddb8608f7e7f260cd3),
[`ca5e62b`](https://github.com/Urigo/accounter-fullstack/commit/ca5e62b91faaf33c99ac178575304797150efe1a),
[`73b11ba`](https://github.com/Urigo/accounter-fullstack/commit/73b11ba1fd676a21b4ba44fe99e2bfd181e513dc),
[`eea8a89`](https://github.com/Urigo/accounter-fullstack/commit/eea8a89638a3893814fd9a341e0080922fc703a1),
[`1c209c8`](https://github.com/Urigo/accounter-fullstack/commit/1c209c8a6045bef747039bbff3780812c6b8678f),
[`bc3ab26`](https://github.com/Urigo/accounter-fullstack/commit/bc3ab260704b677363561ef1c9403eac704a29aa),
[`6a9926c`](https://github.com/Urigo/accounter-fullstack/commit/6a9926c3948fa736e2c52ce93207b4f35e28f931),
[`ca5e62b`](https://github.com/Urigo/accounter-fullstack/commit/ca5e62b91faaf33c99ac178575304797150efe1a),
[`73b11ba`](https://github.com/Urigo/accounter-fullstack/commit/73b11ba1fd676a21b4ba44fe99e2bfd181e513dc),
[`eea8a89`](https://github.com/Urigo/accounter-fullstack/commit/eea8a89638a3893814fd9a341e0080922fc703a1),
[`1c209c8`](https://github.com/Urigo/accounter-fullstack/commit/1c209c8a6045bef747039bbff3780812c6b8678f),
[`bc3ab26`](https://github.com/Urigo/accounter-fullstack/commit/bc3ab260704b677363561ef1c9403eac704a29aa),
[`17ae14f`](https://github.com/Urigo/accounter-fullstack/commit/17ae14f2482ad876e1adce23cdbc7cb173b88dfb),
[`6a9926c`](https://github.com/Urigo/accounter-fullstack/commit/6a9926c3948fa736e2c52ce93207b4f35e28f931),
[`ca5e62b`](https://github.com/Urigo/accounter-fullstack/commit/ca5e62b91faaf33c99ac178575304797150efe1a),
[`73b11ba`](https://github.com/Urigo/accounter-fullstack/commit/73b11ba1fd676a21b4ba44fe99e2bfd181e513dc),
[`eea8a89`](https://github.com/Urigo/accounter-fullstack/commit/eea8a89638a3893814fd9a341e0080922fc703a1),
[`1c209c8`](https://github.com/Urigo/accounter-fullstack/commit/1c209c8a6045bef747039bbff3780812c6b8678f),
[`bc3ab26`](https://github.com/Urigo/accounter-fullstack/commit/bc3ab260704b677363561ef1c9403eac704a29aa),
[`17ae14f`](https://github.com/Urigo/accounter-fullstack/commit/17ae14f2482ad876e1adce23cdbc7cb173b88dfb)]:
- @accounter/green-invoice-graphql@0.8.4
- @accounter/pcn874-generator@0.6.5
- @accounter/shaam-uniform-format-generator@0.2.4
- @accounter/shaam6111-generator@0.1.6
## 0.0.9
### Patch Changes
- [#2744](https://github.com/Urigo/accounter-fullstack/pull/2744)
[`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.43.1` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.43.1) (from
`0.43.0`, in `dependencies`)
- Updated dependency [`ai@5.0.101` ↗︎](https://www.npmjs.com/package/ai/v/5.0.101) (from `5.0.100`,
in `dependencies`)
- Updated dependency [`zod@4.1.13` ↗︎](https://www.npmjs.com/package/zod/v/4.1.13) (from `4.1.12`,
in `dependencies`)
- [#2746](https://github.com/Urigo/accounter-fullstack/pull/2746)
[`933a71e`](https://github.com/Urigo/accounter-fullstack/commit/933a71ec5640f6ef18d79ad5ebb9414ea05dc352)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`playwright@1.57.0` ↗︎](https://www.npmjs.com/package/playwright/v/1.57.0)
(from `1.56.1`, in `dependencies`)
- [#2753](https://github.com/Urigo/accounter-fullstack/pull/2753)
[`8edd047`](https://github.com/Urigo/accounter-fullstack/commit/8edd047c161f54b186972bf43151d68e837d845b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.49` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.49) (from
`2.0.45`, in `dependencies`)
- Updated dependency [`ai@5.0.103` ↗︎](https://www.npmjs.com/package/ai/v/5.0.103) (from `5.0.101`,
in `dependencies`)
- [#2757](https://github.com/Urigo/accounter-fullstack/pull/2757)
[`51b43e1`](https://github.com/Urigo/accounter-fullstack/commit/51b43e1de23746c5c8983cb5e8ee89e6b762666e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.50` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.50) (from
`2.0.49`, in `dependencies`)
- Updated dependency [`ai@5.0.104` ↗︎](https://www.npmjs.com/package/ai/v/5.0.104) (from `5.0.103`,
in `dependencies`)
- [#2758](https://github.com/Urigo/accounter-fullstack/pull/2758)
[`a399ad1`](https://github.com/Urigo/accounter-fullstack/commit/a399ad1fc2e0c954eb75a687ec355c82621df4b4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.17.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.17.0)
(from `3.16.2`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.17.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.17.0) (from `5.16.2`,
in `dependencies`)
- [#2765](https://github.com/Urigo/accounter-fullstack/pull/2765)
[`cbf2717`](https://github.com/Urigo/accounter-fullstack/commit/cbf27175d72499a6f7509eecee351f4831227f12)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.53` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.53) (from
`2.0.50`, in `dependencies`)
- Updated dependency [`ai@5.0.106` ↗︎](https://www.npmjs.com/package/ai/v/5.0.106) (from `5.0.104`,
in `dependencies`)
- [#2767](https://github.com/Urigo/accounter-fullstack/pull/2767)
[`9789030`](https://github.com/Urigo/accounter-fullstack/commit/9789030faa9712723aa8b4771061b61b8002c312)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.46.0` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.46.0) (from
`0.43.1`, in `dependencies`)
- [#2768](https://github.com/Urigo/accounter-fullstack/pull/2768)
[`12a26cb`](https://github.com/Urigo/accounter-fullstack/commit/12a26cb049a0f601a7d0d8664114a4bfe9b8be86)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.17.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.17.1)
(from `3.17.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.17.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.17.1) (from `5.17.0`,
in `dependencies`)
- [#2769](https://github.com/Urigo/accounter-fullstack/pull/2769)
[`4a16f8f`](https://github.com/Urigo/accounter-fullstack/commit/4a16f8fc4048e46b305adc887f926f1ff94f9bf2)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.17.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.17.1)
(from `3.17.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.17.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.17.1) (from `5.17.0`,
in `dependencies`)
- [#2777](https://github.com/Urigo/accounter-fullstack/pull/2777)
[`4b558c0`](https://github.com/Urigo/accounter-fullstack/commit/4b558c0e30f4e88671c7990344b0f6d9f509f7ab)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@167.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/167.0.0)
(from `166.0.0`, in `dependencies`)
- [#2778](https://github.com/Urigo/accounter-fullstack/pull/2778)
[`eb4e853`](https://github.com/Urigo/accounter-fullstack/commit/eb4e853581ac5cded01c5c804ee4894f9fb7dff6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.108` ↗︎](https://www.npmjs.com/package/ai/v/5.0.108) (from `5.0.106`,
in `dependencies`)
- [#2768](https://github.com/Urigo/accounter-fullstack/pull/2768)
[`12a26cb`](https://github.com/Urigo/accounter-fullstack/commit/12a26cb049a0f601a7d0d8664114a4bfe9b8be86)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **GraphQL Schema & Resolver Update**: The
GraphQL schema for `GreenInvoiceClient` now includes a `businessId` field, and a corresponding
resolver has been implemented on the server to fetch this ID from the internal client service.
- **Frontend Data & Type Alignment**: Client-side GraphQL fragments and TypeScript type
definitions have been updated to consistently include and handle the new `businessId` field for
client objects.
- **Business Link Correction**: The `IssueDocumentsTable` component has been modified to correctly
utilize the `businessId` when constructing links to business detail pages, resolving the issue
of incorrect navigation.
- [#2750](https://github.com/Urigo/accounter-fullstack/pull/2750)
[`98b8b85`](https://github.com/Urigo/accounter-fullstack/commit/98b8b859ad566372ec3cd65bc57bcc0d6fcdd6fb)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Update**: A new `users`
table is introduced in the `accounter_schema` to store user names, IDs, creation timestamps, and
roles, with `name` as the primary key and a foreign key constraint linking `users.id` to
`financial_entities.id`.
- **Dynamic User Authentication**: The authentication plugin (`auth-plugin.ts`) is refactored to
fetch user roles and associated business IDs directly from the new `users` database table,
replacing previous static or hardcoded role assignments.
- **Enhanced Password Encryption Validation**: The `encrypt-password.mjs` script now includes more
comprehensive validation checks for bcrypt, confirming that unique salts are used and hashes are
correctly compared against plaintext.
- [#2727](https://github.com/Urigo/accounter-fullstack/pull/2727)
[`6a8a686`](https://github.com/Urigo/accounter-fullstack/commit/6a8a68620fe70d4109d92a279cac5be355987e2f)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Test Data and Integration Testing**:
This pull request introduces reusable demo/staging data and an integration testing framework for
the `@accounter/server` package, focusing on foundational admin context, expense charge scenarios,
and ledger generation.
- **Architectural Improvements**: Key improvements include a modular test harness, exact schema
version enforcement, diagnostics & observability, transactional seeding, environment isolation,
and a CI workflow.
- **Documentation**: Extensive documentation has been added, including JSDoc examples, idempotency
semantics, security warnings, and thread safety considerations.
- [#2751](https://github.com/Urigo/accounter-fullstack/pull/2751)
[`77ad870`](https://github.com/Urigo/accounter-fullstack/commit/77ad8705cfadfab6a4e182c80937b8d96467098a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Centralized DB Pool Management**: The
application now utilizes a single PostgreSQL connection pool, initialized at startup and shared
across the entire server, replacing individual client instantiations.
- **Dependency Injection for Database Access**: The database connection pool is now injected into
the GraphQL application context and passed explicitly to modules and plugins, promoting a
cleaner and more consistent approach to database interactions.
- **Graceful Shutdown Implementation**: New logic has been added to ensure the server and database
pool shut down gracefully upon receiving termination signals (e.g., SIGINT, SIGTERM) or
encountering critical errors, allowing in-flight requests to complete.
- **Enhanced Error Handling**: The centralized connection pool includes error handling that
triggers a graceful shutdown for database-related issues, unhandled promise rejections, and
uncaught exceptions, improving application stability.
- [#2786](https://github.com/Urigo/accounter-fullstack/pull/2786)
[`e5e6a90`](https://github.com/Urigo/accounter-fullstack/commit/e5e6a90a8bfd7c25f24dab31aab06a1ca17bdf56)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Alias Removal**: Custom path aliases
like `@modules/*` and `@shared/*` have been removed from the `tsconfig.json` and
`vitest.config.ts` configuration files.
- **Import Path Updates**: All affected TypeScript files across the `packages/server/src`
directory have been updated to use explicit relative import paths instead of the previously
configured aliases. This includes imports for GraphQL types, shared types, enums, constants, and
module-specific files.
- **Improved Module Resolution**: The change promotes more explicit and self-contained module
dependencies, which can simplify module resolution and enhance code readability and
maintainability.
- [#2754](https://github.com/Urigo/accounter-fullstack/pull/2754)
[`92d8cb1`](https://github.com/Urigo/accounter-fullstack/commit/92d8cb161398c2681d22fc1d390143f1cdc2e8eb)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Cleanup**: A new migration has
been added to drop the deprecated `deel_documents` and `deel_employees` tables from the database,
streamlining the schema.
- **Enhanced Deel Contract Handling**: New functionality has been introduced to automatically
validate and insert new Deel contracts into the database, ensuring all relevant contract
information is persisted.
- **Refined Invoice-to-Charge Mapping**: The logic for associating Deel invoices with charges has
been improved, now providing a more robust mapping that considers both receipt and invoice
charge IDs.
- **Charge Cleanup Mechanism**: The `fetchDeelDocuments` resolver now includes a post-processing
step to identify and delete any charges that end up without associated documents or
transactions, preventing orphaned data.
- **GraphQL API Update**: The `fetchDeelDocuments` GraphQL mutation now returns a list of `Charge`
objects instead of a boolean, providing more detailed feedback on the processed charges.
- [#2789](https://github.com/Urigo/accounter-fullstack/pull/2789)
[`c7d6f21`](https://github.com/Urigo/accounter-fullstack/commit/c7d6f21ed62658159b1323334501daca03c8d3e5)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Client Integration**: Added a new
public method, `getDocumentLinks`, within the `GreenInvoiceClientProvider` to abstract the
fetching of document download links using the new GraphQL query.
- **Document URL Retrieval Logic**: Updated the `insertNewDocumentFromGreenInvoice` helper
function to utilize the new `getDocumentLinks` method for retrieving document file URLs,
prioritizing English language links and including error handling for cases where no links are
found.
- [#2781](https://github.com/Urigo/accounter-fullstack/pull/2781)
[`0590c3f`](https://github.com/Urigo/accounter-fullstack/commit/0590c3fdb9f1a9718ea80530361bbeb7512d11fd)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **GreenInvoiceClient ID Refinement**: The
'id' field has been removed from GreenInvoiceClient type definitions and GraphQL fragments across
the client and server, standardizing on 'businessId' or 'greenInvoiceId' as primary identifiers.
- **Frontend Form Logic Enhancement**: The GenerateDocument component now uses a 'formDefaults'
object for initial state, and 'useEffect' ensures form data resets correctly when
'initialFormData' changes.
- **Performance Optimizations**: React's 'useCallback' and 'useMemo' hooks have been introduced in
GenerateDocument to memoize event handlers and computed values, improving rendering performance.
- **Backend Client ID Consistency**: Green Invoice resolvers have been updated to consistently use
'greenInvoiceClientId' when issuing or previewing documents, ensuring the correct client is
associated.
- Updated dependencies
[[`cbf2717`](https://github.com/Urigo/accounter-fullstack/commit/cbf27175d72499a6f7509eecee351f4831227f12),
[`eb4e853`](https://github.com/Urigo/accounter-fullstack/commit/eb4e853581ac5cded01c5c804ee4894f9fb7dff6),
[`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
[`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
[`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
[`c7d6f21`](https://github.com/Urigo/accounter-fullstack/commit/c7d6f21ed62658159b1323334501daca03c8d3e5)]:
- @accounter/green-invoice-graphql@0.8.3
- @accounter/pcn874-generator@0.6.4
- @accounter/shaam-uniform-format-generator@0.2.3
- @accounter/shaam6111-generator@0.1.5
## 0.0.8
### Patch Changes
- [#2513](https://github.com/Urigo/accounter-fullstack/pull/2513)
[`a2308dc`](https://github.com/Urigo/accounter-fullstack/commit/a2308dc812562b22f290bdd2e638c676fad77ac8)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`@google-cloud/pubsub@5.2.0` ↗︎](https://www.npmjs.com/package/@google-cloud/pubsub/v/5.2.0) (to
`dependencies`)
- Added dependency [`googleapis@159.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/159.0.0)
(to `dependencies`)
- Added dependency
[`node-html-to-image@5.0.0` ↗︎](https://www.npmjs.com/package/node-html-to-image/v/5.0.0) (to
`dependencies`)
- [#2534](https://github.com/Urigo/accounter-fullstack/pull/2534)
[`2d56d4e`](https://github.com/Urigo/accounter-fullstack/commit/2d56d4e7a4c38277ba9a9b99843ed4013290ab46)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.22` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.22) (from
`2.0.20`, in `dependencies`)
- [#2543](https://github.com/Urigo/accounter-fullstack/pull/2543)
[`65e3c7f`](https://github.com/Urigo/accounter-fullstack/commit/65e3c7f01993eb4f41244a40feefefa08b31a4e6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.23` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.23) (from
`2.0.22`, in `dependencies`)
- Updated dependency [`ai@5.0.60` ↗︎](https://www.npmjs.com/package/ai/v/5.0.60) (from `5.0.57`, in
`dependencies`)
- Updated dependency [`dotenv@17.2.3` ↗︎](https://www.npmjs.com/package/dotenv/v/17.2.3) (from
`17.2.2`, in `dependencies`)
- Updated dependency [`zod@4.1.12` ↗︎](https://www.npmjs.com/package/zod/v/4.1.12) (from `4.1.11`,
in `dependencies`)
- [#2555](https://github.com/Urigo/accounter-fullstack/pull/2555)
[`6143bfe`](https://github.com/Urigo/accounter-fullstack/commit/6143bfeedfaccb56ea7f11f38e58063d9895a923)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Added dependency
[`@google-cloud/pubsub@5.2.0` ↗︎](https://www.npmjs.com/package/@google-cloud/pubsub/v/5.2.0) (to
`dependencies`)
- Added dependency [`googleapis@159.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/159.0.0)
(to `dependencies`)
- Added dependency
[`node-html-to-image@5.0.0` ↗︎](https://www.npmjs.com/package/node-html-to-image/v/5.0.0) (to
`dependencies`)
- [#2559](https://github.com/Urigo/accounter-fullstack/pull/2559)
[`a7fc425`](https://github.com/Urigo/accounter-fullstack/commit/a7fc4250e5f7141b0f64e651c1103f38fae2a3dd)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.30` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.30) (from
`2.0.23`, in `dependencies`)
- Updated dependency [`ai@5.0.72` ↗︎](https://www.npmjs.com/package/ai/v/5.0.72) (from `5.0.60`, in
`dependencies`)
- Updated dependency [`strip-indent@4.1.1` ↗︎](https://www.npmjs.com/package/strip-indent/v/4.1.1)
(from `4.1.0`, in `dependencies`)
- [#2570](https://github.com/Urigo/accounter-fullstack/pull/2570)
[`584937c`](https://github.com/Urigo/accounter-fullstack/commit/584937c941c0b7d6b325a4384861d8a8c5bb483f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`graphql-scalars@1.25.0` ↗︎](https://www.npmjs.com/package/graphql-scalars/v/1.25.0) (from
`1.24.2`, in `dependencies`)
- [#2572](https://github.com/Urigo/accounter-fullstack/pull/2572)
[`a5875ad`](https://github.com/Urigo/accounter-fullstack/commit/a5875ad5be33b77938d43050cbb22af23e829b3a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`inline-css@4.0.3` ↗︎](https://www.npmjs.com/package/inline-css/v/4.0.3) (to
`dependencies`)
- Added dependency [`puppeteer@24.25.0` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.25.0) (to
`dependencies`)
- Removed dependency
[`node-html-to-image@5.0.0` ↗︎](https://www.npmjs.com/package/node-html-to-image/v/5.0.0) (from
`dependencies`)
- [#2573](https://github.com/Urigo/accounter-fullstack/pull/2573)
[`7d85775`](https://github.com/Urigo/accounter-fullstack/commit/7d85775aaa41c5b9e3bd00df878cd23c0f45cba3)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@163.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/163.0.0)
(from `159.0.0`, in `dependencies`)
- [#2576](https://github.com/Urigo/accounter-fullstack/pull/2576)
[`e1d4718`](https://github.com/Urigo/accounter-fullstack/commit/e1d4718af281b6c8c9a988c758187db237757e9c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.31` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.31) (from
`2.0.30`, in `dependencies`)
- [#2580](https://github.com/Urigo/accounter-fullstack/pull/2580)
[`ff4553b`](https://github.com/Urigo/accounter-fullstack/commit/ff4553b04544d4db0fdfd22799f2f0b8efd8e737)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@164.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/164.0.0)
(from `163.0.0`, in `dependencies`)
- [#2586](https://github.com/Urigo/accounter-fullstack/pull/2586)
[`d0b183f`](https://github.com/Urigo/accounter-fullstack/commit/d0b183f9dce58ecf7a5c7086868a7fd397b2c752)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.8.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.8.0)
(from `2.7.0`, in `dependencies`)
- [#2587](https://github.com/Urigo/accounter-fullstack/pull/2587)
[`eaf61c3`](https://github.com/Urigo/accounter-fullstack/commit/eaf61c36d916e8363352d9b18e6b124f0333b437)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.34` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.34) (from
`2.0.31`, in `dependencies`)
- Updated dependency [`ai@5.0.76` ↗︎](https://www.npmjs.com/package/ai/v/5.0.76) (from `5.0.72`, in
`dependencies`)
- [#2590](https://github.com/Urigo/accounter-fullstack/pull/2590)
[`dc48475`](https://github.com/Urigo/accounter-fullstack/commit/dc484759c8bc27e54e65d0672702fcce3a65f873)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@164.1.0` ↗︎](https://www.npmjs.com/package/googleapis/v/164.1.0)
(from `164.0.0`, in `dependencies`)
- [#2594](https://github.com/Urigo/accounter-fullstack/pull/2594)
[`d23a9a2`](https://github.com/Urigo/accounter-fullstack/commit/d23a9a29af7c52662e3c07c5286867ea54ca4bd6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.34` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.34) (from
`2.0.31`, in `dependencies`)
- Updated dependency [`ai@5.0.76` ↗︎](https://www.npmjs.com/package/ai/v/5.0.76) (from `5.0.72`, in
`dependencies`)
- Updated dependency [`googleapis@164.1.0` ↗︎](https://www.npmjs.com/package/googleapis/v/164.1.0)
(from `164.0.0`, in `dependencies`)
- [#2595](https://github.com/Urigo/accounter-fullstack/pull/2595)
[`738c3d7`](https://github.com/Urigo/accounter-fullstack/commit/738c3d75046cbd3b6a091b3ede84f292ebf7e12c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`puppeteer@24.26.0` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.26.0)
(from `24.25.0`, in `dependencies`)
- [#2597](https://github.com/Urigo/accounter-fullstack/pull/2597)
[`8750702`](https://github.com/Urigo/accounter-fullstack/commit/8750702fd33bbf1458cc5facd4508b562fe0a560)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.35` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.35) (from
`2.0.34`, in `dependencies`)
- [#2605](https://github.com/Urigo/accounter-fullstack/pull/2605)
[`863a592`](https://github.com/Urigo/accounter-fullstack/commit/863a592f83b480a82156c829914b7e7a270a3f96)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`puppeteer@24.26.0` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.26.0)
(from `24.25.0`, in `dependencies`)
- [#2612](https://github.com/Urigo/accounter-fullstack/pull/2612)
[`232f7c2`](https://github.com/Urigo/accounter-fullstack/commit/232f7c2276aad578000ff99f264ea0b978079906)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.38` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.38) (from
`2.0.35`, in `dependencies`)
- Updated dependency [`ai@5.0.81` ↗︎](https://www.npmjs.com/package/ai/v/5.0.81) (from `5.0.76`, in
`dependencies`)
- Updated dependency [`puppeteer@24.26.1` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.26.1)
(from `24.26.0`, in `dependencies`)
- [#2618](https://github.com/Urigo/accounter-fullstack/pull/2618)
[`5d24324`](https://github.com/Urigo/accounter-fullstack/commit/5d24324d9f5ba6e5875a331afe55d999e510451f)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.35` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.35) (from
`2.0.31`, in `dependencies`)
- Updated dependency [`ai@5.0.76` ↗︎](https://www.npmjs.com/package/ai/v/5.0.76) (from `5.0.72`, in
`dependencies`)
- Updated dependency [`cloudinary@2.8.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.8.0)
(from `2.7.0`, in `dependencies`)
- Updated dependency [`googleapis@164.1.0` ↗︎](https://www.npmjs.com/package/googleapis/v/164.1.0)
(from `164.0.0`, in `dependencies`)
- Updated dependency [`puppeteer@24.26.0` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.26.0)
(from `24.25.0`, in `dependencies`)
- [#2626](https://github.com/Urigo/accounter-fullstack/pull/2626)
[`b2049c0`](https://github.com/Urigo/accounter-fullstack/commit/b2049c0a242afb4dc1f63366a6e4611050b3c7c0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.38` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.38) (from
`2.0.35`, in `dependencies`)
- Updated dependency [`ai@5.0.81` ↗︎](https://www.npmjs.com/package/ai/v/5.0.81) (from `5.0.76`, in
`dependencies`)
- Updated dependency [`puppeteer@24.26.1` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.26.1)
(from `24.26.0`, in `dependencies`)
- [#2629](https://github.com/Urigo/accounter-fullstack/pull/2629)
[`6244c1b`](https://github.com/Urigo/accounter-fullstack/commit/6244c1bbafa7029f426bdaf796d830ff62cee006)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.38` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.38) (from
`2.0.35`, in `dependencies`)
- Updated dependency [`ai@5.0.81` ↗︎](https://www.npmjs.com/package/ai/v/5.0.81) (from `5.0.76`, in
`dependencies`)
- Updated dependency [`puppeteer@24.26.1` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.26.1)
(from `24.26.0`, in `dependencies`)
- [#2634](https://github.com/Urigo/accounter-fullstack/pull/2634)
[`b05ab20`](https://github.com/Urigo/accounter-fullstack/commit/b05ab20692349fbc7b74f36d9f0f19c02f5ba9a3)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.38` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.38) (from
`2.0.35`, in `dependencies`)
- Updated dependency [`ai@5.0.81` ↗︎](https://www.npmjs.com/package/ai/v/5.0.81) (from `5.0.76`, in
`dependencies`)
- Updated dependency [`puppeteer@24.26.1` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.26.1)
(from `24.26.0`, in `dependencies`)
- [#2638](https://github.com/Urigo/accounter-fullstack/pull/2638)
[`cad4ed9`](https://github.com/Urigo/accounter-fullstack/commit/cad4ed9a12ef09c22d0c55715ba1453a73aa0773)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv-cli@11.0.0` ↗︎](https://www.npmjs.com/package/dotenv-cli/v/11.0.0)
(from `10.0.0`, in `dependencies`)
- [#2639](https://github.com/Urigo/accounter-fullstack/pull/2639)
[`0792f80`](https://github.com/Urigo/accounter-fullstack/commit/0792f80e6c83326e63066e3d51c65cf554cb0a6e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`puppeteer@24.27.0` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.27.0)
(from `24.26.1`, in `dependencies`)
- [#2643](https://github.com/Urigo/accounter-fullstack/pull/2643)
[`485cec8`](https://github.com/Urigo/accounter-fullstack/commit/485cec843689ba4777711231b88d876f1eac7022)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@10.0.1` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/10.0.1)
(from `10.0.0`, in `dependencies`)
- [#2644](https://github.com/Urigo/accounter-fullstack/pull/2644)
[`7f9f9be`](https://github.com/Urigo/accounter-fullstack/commit/7f9f9be25556b5f66f430a5f660a71ef1b1b3464)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.39` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.39) (from
`2.0.38`, in `dependencies`)
- Updated dependency [`ai@5.0.82` ↗︎](https://www.npmjs.com/package/ai/v/5.0.82) (from `5.0.81`, in
`dependencies`)
- [#2646](https://github.com/Urigo/accounter-fullstack/pull/2646)
[`1c8d288`](https://github.com/Urigo/accounter-fullstack/commit/1c8d28840c2c54a3948cd965695e16f84f0fccf2)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.39` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.39) (from
`2.0.38`, in `dependencies`)
- Updated dependency [`ai@5.0.82` ↗︎](https://www.npmjs.com/package/ai/v/5.0.82) (from `5.0.81`, in
`dependencies`)
- [#2647](https://github.com/Urigo/accounter-fullstack/pull/2647)
[`f171a4a`](https://github.com/Urigo/accounter-fullstack/commit/f171a4a83c5f30b0135c72991b4796677223ff39)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.40` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.40) (from
`2.0.39`, in `dependencies`)
- Updated dependency [`ai@5.0.86` ↗︎](https://www.npmjs.com/package/ai/v/5.0.86) (from `5.0.82`, in
`dependencies`)
- [#2654](https://github.com/Urigo/accounter-fullstack/pull/2654)
[`7fef068`](https://github.com/Urigo/accounter-fullstack/commit/7fef0682c7316153ae5ffde42f97ce7284dd4c9a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql@16.12.0` ↗︎](https://www.npmjs.com/package/graphql/v/16.12.0) (from
`16.11.0`, in `dependencies`)
- [#2655](https://github.com/Urigo/accounter-fullstack/pull/2655)
[`e3dc806`](https://github.com/Urigo/accounter-fullstack/commit/e3dc80677201cdbdd038953b572486c25119989e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.16.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.16.1)
(from `3.16.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.16.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.16.1) (from `5.16.0`,
in `dependencies`)
- [#2662](https://github.com/Urigo/accounter-fullstack/pull/2662)
[`fa15c75`](https://github.com/Urigo/accounter-fullstack/commit/fa15c754be3cf82893a3573b4ebe60776c96a296)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`puppeteer@24.28.0` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.28.0)
(from `24.27.0`, in `dependencies`)
- [#2664](https://github.com/Urigo/accounter-fullstack/pull/2664)
[`21a384a`](https://github.com/Urigo/accounter-fullstack/commit/21a384abf59e615d29a5aae591815f6540ab51ac)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`playwright@1.56.1` ↗︎](https://www.npmjs.com/package/playwright/v/1.56.1) (to
`dependencies`)
- Removed dependency [`puppeteer@24.28.0` ↗︎](https://www.npmjs.com/package/puppeteer/v/24.28.0)
(from `dependencies`)
- [#2669](https://github.com/Urigo/accounter-fullstack/pull/2669)
[`3d3f443`](https://github.com/Urigo/accounter-fullstack/commit/3d3f4430cae9f6371507a6cfc785213797715405)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.16.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.16.1)
(from `3.16.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.16.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.16.1) (from `5.16.0`,
in `dependencies`)
- [#2671](https://github.com/Urigo/accounter-fullstack/pull/2671)
[`76e0893`](https://github.com/Urigo/accounter-fullstack/commit/76e089345bc7ede786a28a4c93ed0c19f896e980)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`json-bigint-patch@0.0.8` ↗︎](https://www.npmjs.com/package/json-bigint-patch/v/0.0.8) (to
`dependencies`)
- [#2677](https://github.com/Urigo/accounter-fullstack/pull/2677)
[`88e1537`](https://github.com/Urigo/accounter-fullstack/commit/88e153761668a2c29445b6bcf61b2b85cd28c10b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.41` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.41) (from
`2.0.40`, in `dependencies`)
- Updated dependency
[`@whatwg-node/fetch@0.10.12` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.12)
(from `0.10.11`, in `dependencies`)
- Updated dependency [`ai@5.0.87` ↗︎](https://www.npmjs.com/package/ai/v/5.0.87) (from `5.0.86`, in
`dependencies`)
- [#2678](https://github.com/Urigo/accounter-fullstack/pull/2678)
[`8a3a1c4`](https://github.com/Urigo/accounter-fullstack/commit/8a3a1c4319709929b6dbdb4281d56309dfc2168c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@11.0.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/11.0.0)
(from `10.0.1`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@9.0.0` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/9.0.0)
(from `8.0.0`, in `dependencies`)
- [#2679](https://github.com/Urigo/accounter-fullstack/pull/2679)
[`f2cd908`](https://github.com/Urigo/accounter-fullstack/commit/f2cd908b2e7bc48777fb65aa2c3c3b517f52179c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`googleapis@165.0.0` ↗︎](https://www.npmjs.com/package/googleapis/v/165.0.0)
(from `164.1.0`, in `dependencies`)
- [#2680](https://github.com/Urigo/accounter-fullstack/pull/2680)
[`1b79c90`](https://github.com/Urigo/accounter-fullstack/commit/1b79c90962c177004cdcc2546dcf857210389ab5)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.16.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.16.2)
(from `3.16.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.16.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.16.2) (from `5.16.1`,
in `dependencies`)
- [#2685](https://github.com/Urigo/accounter-fullstack/pull/2685)
[`80402e0`](https://github.com/Urigo/accounter-fullstack/commit/80402e07198a7c6bb78aa9402df7ea4ead779411)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.42` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.42) (from
`2.0.41`, in `dependencies`)
- Updated dependency [`ai@5.0.89` ↗︎](https://www.npmjs.com/package/ai/v/5.0.89) (from `5.0.87`, in
`dependencies`)
- [#2687](https://github.com/Urigo/accounter-fullstack/pull/2687)
[`051f82a`](https://github.com/Urigo/accounter-fullstack/commit/051f82aaf9f49dc49875a52e18713f6ed7b3408f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.44` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.44) (from
`2.0.42`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.42.4` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.42.4) (from
`0.42.2`, in `dependencies`)
- Updated dependency
[`@whatwg-node/fetch@0.10.13` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.13)
(from `0.10.12`, in `dependencies`)
- Updated dependency [`ai@5.0.93` ↗︎](https://www.npmjs.com/package/ai/v/5.0.93) (from `5.0.89`, in
`dependencies`)
- Updated dependency
[`json-bigint-patch@0.0.9` ↗︎](https://www.npmjs.com/package/json-bigint-patch/v/0.0.9) (from
`0.0.8`, in `dependencies`)
- [#2720](https://github.com/Urigo/accounter-fullstack/pull/2720)
[`5857419`](https://github.com/Urigo/accounter-fullstack/commit/5857419c1c3f5fe685ab7a56fc4e65049415fd19)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.43.0` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.43.0) (from
`0.42.4`, in `dependencies`)
- [#2721](https://github.com/Urigo/accounter-fullstack/pull/2721)
[`2a5bddd`](https://github.com/Urigo/accounter-fullstack/commit/2a5bddd48ce2ef233d50b4c0c9fc91b94ba01585)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.45` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.45) (from
`2.0.44`, in `dependencies`)
- Updated dependency [`ai@5.0.95` ↗︎](https://www.npmjs.com/package/ai/v/5.0.95) (from `5.0.93`, in
`dependencies`)
- [#2729](https://github.com/Urigo/accounter-fullstack/pull/2729)
[`543e8f5`](https://github.com/Urigo/accounter-fullstack/commit/543e8f53b215f912fe26811e26f5a9783347e6ef)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.97` ↗︎](https://www.npmjs.com/package/ai/v/5.0.97) (from `5.0.95`, in
`dependencies`)
- [#2735](https://github.com/Urigo/accounter-fullstack/pull/2735)
[`5eeb7d4`](https://github.com/Urigo/accounter-fullstack/commit/5eeb7d444c49fd56d61b2916d4770f4c9c9eaf9d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.100` ↗︎](https://www.npmjs.com/package/ai/v/5.0.100) (from `5.0.97`,
in `dependencies`)
- [#2631](https://github.com/Urigo/accounter-fullstack/pull/2631)
[`86c8b3e`](https://github.com/Urigo/accounter-fullstack/commit/86c8b3ebea4e3be0c0e99a108ec1cdad8b39e5d8)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Update**: A new
"operations_count" column has been added to the "clients_contracts" table to store the operational
limit for each contract.
- **GraphQL API Extension**: The GraphQL schema, resolvers, and database providers have been
updated to support the "operationsLimit" field for creating, updating, and querying contract
data.
- **User Interface Integration**: The client application now includes a dedicated input field for
setting the "operationsLimit" in the contract modification dialog and displays this value in the
contract details section.
- [#2719](https://github.com/Urigo/accounter-fullstack/pull/2719)
[`05ffb2d`](https://github.com/Urigo/accounter-fullstack/commit/05ffb2d1247360e54d3b668605410094235fc423)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Refactored Charge Attributes**: The
pull request removes the direct usage of 'extended_charge' attributes, which were denormalized
fields. Instead, charge-related metadata such as total amounts, document counts, transaction
counts, and business IDs are now dynamically computed using new helper functions that query
associated entities (transactions, documents, ledger records) on demand.
- **Enhanced Data Retrieval Helpers**: New helper functions like 'calculateTotalAmount',
'getChargeBusinesses', 'getChargeDocumentsMeta', 'getChargeLedgerMeta',
'getChargeTaxCategoryId', 'getTransactionsMeta', and 'getLedgerMeta' have been introduced or
significantly updated. These helpers ensure that charge metadata is always derived from the most
current source data.
- **Updated Resolvers and Logic**: Numerous resolvers and helper functions across various modules
(e.g., accountant-approval, business-trips, documents, ledger, reports) have been updated to
utilize the new data retrieval helpers. This ensures that all parts of the application correctly
fetch and process charge information without relying on the deprecated 'extended_charge'
attributes.
- **Improved Caching and Type Definitions**: Caching has been added to the 'ChargesProvider' for
better performance. Additionally, GraphQL type definitions for 'ChargeMetadata' have been
simplified by removing redundant fields like 'invalidDocuments' and 'invalidTransactions', as
these are now computed dynamically.
- [#2551](https://github.com/Urigo/accounter-fullstack/pull/2551)
[`14900d1`](https://github.com/Urigo/accounter-fullstack/commit/14900d10209272429118ff4bd2e52893c813170b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Error Handling Standardization**: The
primary goal of this PR is to standardize and enhance error handling across various modules. This
involves ensuring that error messages are more descriptive, consistent, and that the original
error context is preserved in logs.
- [#2734](https://github.com/Urigo/accounter-fullstack/pull/2734)
[`d6ea553`](https://github.com/Urigo/accounter-fullstack/commit/d6ea553a5c5da6d4b552bc09f65ab39ca843c668)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Country Seeding Utility**: A new
helper file, `seed-countries.helper.ts`, has been introduced to centralize the logic for managing
country data, including retrieval and database seeding.
- **Dynamic and Idempotent Country Seeding**: The new utility provides a `seedCountries` function
that dynamically inserts country names and codes from an enum into the database, utilizing
`ON CONFLICT (code) DO NOTHING` to ensure idempotency.
- **Refactored Seed Script**: The main `scripts/seed.ts` file has been updated to use the new
`seedCountries` utility, replacing a large, hardcoded SQL `INSERT` statement with a cleaner,
more maintainable function call.
- [#2584](https://github.com/Urigo/accounter-fullstack/pull/2584)
[`549a2a6`](https://github.com/Urigo/accounter-fullstack/commit/549a2a6fed7959795d7ca130b0ad567c5f4f62c8)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Update**: Introduced a
'locality' column to the 'user_context' table and established foreign key relationships for
country codes in both 'user_context' and 'businesses' tables, linking them to a 'countries' table.
- **Dynamic Country Selection**: The 'Locality' field in the 'ModifyBusinessFields' component now
dynamically fetches and displays a list of all countries, replacing previous hardcoded options.
- **User-Contextual Default Country**: New businesses created via the 'InsertBusiness' modal will
now default their country based on the user's 'locality' from their 'userContext'.
- **Centralized Locality Management**: The 'admin-context' and 'user-context' modules on the
server-side have been updated to store and retrieve the user's 'locality', ensuring consistent
access across the application.
- **VAT Logic Enhancement**: VAT validation and deduction logic now utilize the dynamically
retrieved 'adminContext.locality' instead of a hardcoded country name, improving flexibility and
accuracy.
- [#2697](https://github.com/Urigo/accounter-fullstack/pull/2697)
[`e2cc7b8`](https://github.com/Urigo/accounter-fullstack/commit/e2cc7b80dbd798f8639e0a67b367c67e719e7891)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Annual Revenue Report**: A new
report screen has been added to display annual revenue data, categorized by country and client.
- **Interactive User Interface**: The report features an interactive user interface allowing users
to expand and collapse country and client details to view underlying transactions.
- **Data Filtering and Export**: Users can filter the report by year using a dedicated year picker
and export the displayed data into a CSV format.
- **GraphQL API Integration**: New GraphQL types and a query have been introduced on the
server-side to fetch the structured annual revenue data.
- **Navigation Integration**: The new Annual Revenue Report is now accessible via a new entry in
the application's sidebar navigation.
- [#2649](https://github.com/Urigo/accounter-fullstack/pull/2649)
[`15ed6f9`](https://github.com/Urigo/accounter-fullstack/commit/15ed6f982a5d288a1159ccd069fca14b35801a18)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **New Charges Auto-Matcher Module**: A
new GraphQL module `charges-matcher` has been introduced, complete with its directory structure,
TypeScript types, and GraphQL schema definitions for single-match and auto-match functionalities.
- **Comprehensive Documentation**: Detailed `SPEC.md`, `PROMPT_PLAN.md`, and `TODO.md` documents
have been added, outlining the technical specification, a 17-step implementation plan, and a
checklist for the transaction-document matching system.
- **Core Matching Logic Implemented**: Helper functions for calculating confidence scores based on
amount, currency, business ID, and date proximity have been implemented and thoroughly tested.
- **Data Aggregation Providers**: Providers for aggregating multiple transactions and documents
into single representations, including filtering, currency/business ID validation, and
description concatenation, are now in place.
- **Single-Match & Auto-Match Core Functions**: The core logic for finding single matches (with
date window filtering and tie-breaking) and for processing charges for auto-matching (including
merge direction determination and high-confidence thresholding) has been developed.
- **Robust Testing Infrastructure**: A comprehensive testing framework, including mock factories
and 494 passing unit and integration tests, has been established, ensuring high code coverage.
- **GraphQL Integration**: GraphQL resolvers for `findChargeMatches` and `autoMatchCharges`
mutations/queries have been added, and the module is registered in the main GraphQL application.
- **Type Safety Improvement**: The `amount` type in the `DocumentSuggestionsProto` interface has
been updated from `string` to `number` for enhanced type safety.
- [#2664](https://github.com/Urigo/accounter-fullstack/pull/2664)
[`21a384a`](https://github.com/Urigo/accounter-fullstack/commit/21a384abf59e615d29a5aae591815f6540ab51ac)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Puppeteer Replacement**: This PR
replaces Puppeteer with Playwright for generating PDFs from HTML in the
`gmail-service.provider.ts` file.
- **Dependency Updates**: The PR adds `playwright` as a dependency to
`packages/server/package.json` and removes Puppeteer configurations.
- [#2714](https://github.com/Urigo/accounter-fullstack/pull/2714)
[`4e3dd01`](https://github.com/Urigo/accounter-fullstack/commit/4e3dd01eb2215d09ece496f25456bec76c3bf9d1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Function Signature Refactor**: The
`ledgerGenerationByCharge` function has been refactored from a higher-order function that returned
another function, to a direct `async` function that accepts all its parameters at once.
- **Simplified Call Sites**: All instances where `ledgerGenerationByCharge` was called have been
updated across various resolvers and reports to reflect its new, simplified signature, removing
the double-invocation pattern.
- **Improved Type Safety**: The function's return type and parameters have been explicitly defined
with `Promise<Maybe<ResolverTypeWrapper<CommonError | LedgerRecordsProto>>>` and
`GraphQLResolveInfo`, enhancing type safety and clarity.
- [#2629](https://github.com/Urigo/accounter-fullstack/pull/2629)
[`6244c1b`](https://github.com/Urigo/accounter-fullstack/commit/6244c1bbafa7029f426bdaf796d830ff62cee006)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Update**: The
`clients_contracts` table in the database has been updated to replace the single `purchase_order`
column (string) with a new `purchase_orders` column, which is an array of text (`text[]`),
allowing multiple POs per contract.
- **GraphQL API Evolution**: The GraphQL schema has been modified to reflect this change, updating
`purchaseOrder: String` to `purchaseOrders: [String!]!` across the `Contract` type,
`CreateContractInput`, and `UpdateContractInput`.
- **Frontend User Interface**: The client-side application now supports displaying and managing
multiple Purchase Orders. Users can add new POs, view all associated POs (with the latest one
highlighted), and remove POs directly from the contract modification dialog.
- **Backend Logic Adaptation**: Server-side resolvers and database providers have been updated to
correctly handle the new `purchase_orders` array when creating, updating, and querying
contracts.
- **Green Invoice Integration**: The integration with Green Invoice has been adjusted to use the
first Purchase Order from the `purchase_orders` array when generating document remarks, ensuring
compatibility with external systems that might expect a single PO reference.
- [#2513](https://github.com/Urigo/accounter-fullstack/pull/2513)
[`a2308dc`](https://github.com/Urigo/accounter-fullstack/commit/a2308dc812562b22f290bdd2e638c676fad77ac8)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Gmail Listener Implementation**:
Introduced core functionality to listen for Gmail notifications using Google Cloud Pub/Sub,
enabling real-time email processing.
- **Comprehensive Setup Guide**: Added `GMAIL_LISTENER.md` with detailed steps for Google Cloud
project setup, API enablement, service accounts, Pub/Sub topics, OAuth2 credentials, and
environment variables.
- **Modular Service Architecture**: Implemented `GmailService` for email interaction and
`PubSubService` for handling incoming notifications, ensuring a clean separation of concerns.
- **OAuth2 Troubleshooting Utility**: Included a `troubleshootOAuth` function to assist with
debugging common OAuth2 and Gmail watch permission issues, simplifying the setup process.
- **Alternative Polling Mechanism**: Provided a documented fallback polling approach for scenarios
where Pub/Sub integration might be overly complex or not feasible.
- [#2661](https://github.com/Urigo/accounter-fullstack/pull/2661)
[`bf705b9`](https://github.com/Urigo/accounter-fullstack/commit/bf705b93457bf20b72633f70b5d6782ceaef8a03)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Charge Matching UI**: A
comprehensive frontend has been introduced for displaying and interacting with charge matches,
including dedicated cell components for various data types like business, date, tags, tax
category, and charge type.
- **Charge Matches Table Implementation**: A new `ChargeMatchesTable` component has been
implemented using `@tanstack/react-table`, featuring sorting, column visibility, and integration
with a `MergeChargesButton`.
- **Integration with Extended Charge Info**: The new charge matches table is now conditionally
displayed within the `ChargeExtendedInfo` component, appearing when a charge is missing
accounting documents or transactions.
- **GraphQL Schema and Resolver Updates**: The `ChargeMatch` GraphQL type has been extended to
include the full `Charge` object, and a corresponding resolver was added on the backend to fetch
this related charge data.
- **Reusable UI Components**: New generic `DataTableColumnHeader` and `Score` components were
developed to standardize table headers and score visualizations across the application,
promoting consistency and reusability.
- **Improved Merge Charges UX**: The `MergeChargesButton` now requires at least two charges to be
selected for merging and utilizes a more modern Shadcn `Dialog` component with tooltips for
better user guidance and clarity.
- [#2548](https://github.com/Urigo/accounter-fullstack/pull/2548)
[`d72901a`](https://github.com/Urigo/accounter-fullstack/commit/d72901adb3b1dcc3e1e88fc797d8097f49f00cc5)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Intent**: This pull request aims to
enhance the backend's business suggestions by introducing a new `emailListener` configuration.
This allows for more detailed control over how emails related to a business are processed,
including specifying internal email links, whether to process the email body, and which attachment
types (PDF, PNG, JPEG) to consider.
- **Key Changes**: The core changes involve refactoring the `suggestionDataSchema` from
`modules/documents` to `modules/financial-entities`, extending this schema to include a new
`emailListener` field, and updating the GraphQL API to expose these new types. Business logic
for merging and handling `emailListener` configurations during updates has been implemented.
Additionally, a new `getBusinessByEmail` method was added to retrieve businesses based on emails
in their suggestion data, along with enhanced cache invalidation for business data.
- **Affected Files**: The changes span across multiple files:
* `eslint.config.mjs`: Updated to recognize the new `SuggestionsEmailListenerConfig`.
* `packages/server/src/modules/charges/resolvers/charge-suggestions/charge-suggestions.resolver.ts`:
Updated import path for `suggestionDataSchema`.
* `packages/server/src/modules/documents/helpers/suggestion-data-schema.helper.ts`: Removed.
* `packages/server/src/modules/documents/types.ts`: Removed `SuggestionData` export.
* `packages/server/src/modules/financial-entities/helpers/business-suggestion-data-schema.helper.ts`:
Added, defining `suggestionDataSchema` with `emailListener` and `EmailListenerConfig`.
* `packages/server/src/modules/financial-entities/helpers/businesses.helper.ts`: Modified to
handle `emailListener` merging logic and updated suggestion field merging.
* `packages/server/src/modules/financial-entities/providers/businesses.provider.ts`: Added
`getBusinessByEmail` query and method, renamed `insertBusinessesLoader`, and enhanced cache
invalidation for business emails.
* `packages/server/src/modules/financial-entities/resolvers/businesses.resolver.ts`: Updated to
use the new `emailListener` field in mutations and resolvers, and adjusted DataLoader usage.
* `packages/server/src/modules/financial-entities/typeDefs/businesses.graphql.ts`: Modified
GraphQL schema to include `SuggestionsEmailListenerConfig`, `EmailAttachmentType` enum, and
updated `Suggestion` and `SuggestionInput` types.
* `packages/server/src/modules/financial-entities/types.ts`: Exported new `SuggestionData` and
`EmailListenerConfig` types.
* `packages/server/src/modules/transactions/resolvers/transaction-suggestions.resolver.ts`:
Updated import path for `suggestionDataSchema`.
- [#2626](https://github.com/Urigo/accounter-fullstack/pull/2626)
[`b2049c0`](https://github.com/Urigo/accounter-fullstack/commit/b2049c0a242afb4dc1f63366a6e4611050b3c7c0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Client Creation Flow Enhancement**: The
"Create New Business" dialog now includes an option to immediately create a client associated with
the new business. If selected, a `ModifyClientDialog` will automatically open after business
creation, streamlining the onboarding process.
- **`ModifyClientDialog` Flexibility**: The `ModifyClientDialog` component has been enhanced with
a `showTrigger` prop, allowing it to be rendered without its default trigger button, making it
suitable for programmatic opening. It also now consistently calls the `onDone` callback when
closed, improving callback reliability.
- **User Navigation Improvements**: The user dropdown menu now displays the actual logged-in
username from the `UserContext` and includes a direct link to the "Admin Configurations" page
for the user's primary business, providing quicker access to administrative settings.
- **Form Schema Refinements**: The business creation form schema has been updated to use more
direct Zod validators (`z.email()`, `z.url()`) for better type safety and includes a new
`isClient` boolean field to indicate if the business is also a client.
- [#2582](https://github.com/Urigo/accounter-fullstack/pull/2582)
[`32276b4`](https://github.com/Urigo/accounter-fullstack/commit/32276b47e164f0976fcdd5523fa5e26f0704014f)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Business/Client Page**: Introduced
a comprehensive new page for businesses and clients, consolidating various details into a single,
tabbed interface for improved management and overview.
- **Modular UI Components**: Developed several new UI components (`BusinessHeader`,
`ChargesSection`, `ChartsSection`, `ConfigurationsSection`, `ContactInfoSection`,
`ContractsSection`, `DocumentsSection`, `IntegrationsSection`) to structure and display
different aspects of business information.
- **Dynamic Routing and Tab Navigation**: Implemented dynamic routing for the new business page
(`/businesses/:businessId`) and integrated tab-based navigation to switch between different
sections like contact info, configurations, and analytics.
- **Business Configuration Form**: Added a detailed configuration form allowing users to manage
VAT settings, tax exemptions, default sort codes, tax categories, IRS codes, and auto-matching
rules for bank transactions and documents (phrases, emails, attachment types).
- **Backend GraphQL Enhancements**: Extended GraphQL types for `Business`, `FinancialEntity`, and
`TaxCategory` to include `createdAt` and `updatedAt` fields, providing essential timestamp
information.
- **UI Library Integration**: Integrated the `@radix-ui/react-progress` component and refactored
the `pcn874RecordType` enum definition into a shared helper for better code organization.
- [#2718](https://github.com/Urigo/accounter-fullstack/pull/2718)
[`067b2d6`](https://github.com/Urigo/accounter-fullstack/commit/067b2d65d54e94915a0c4fa6577cfe34ba29b686)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Feature Plan Document**: A detailed
`bank-deposits-extension-plan.md` is added, outlining the scope, implementation steps, technical
decisions, and UI/GraphQL patterns for upcoming bank deposit management features.
- **Client-Side Transaction Table Components**: New React components are introduced to display
bank deposit transactions, including individual cells for date, amount, cumulative balances
(origin and local), and a deposit/withdrawal indicator, laying the groundwork for the UI.
- **Core Deposit Transactions Table**: A `DepositsTransactionsTable` component is added,
leveraging `@tanstack/react-table` to render transactions for a given deposit, calculate
cumulative balances, and display loading states.
- **GraphQL Schema Expansion**: The server's GraphQL schema for bank deposits is significantly
extended with a new `allDeposits` query, `createDeposit` and `assignTransactionToDeposit`
mutations, and enriched `BankDeposit` type fields (e.g., `currency`, `openDate`,
`currentBalance`, `currencyError`).
- **Authorization and Error Handling**: All new GraphQL operations are secured with
`@auth(role: ACCOUNTANT)`, and a minor improvement to error handling in the `deposit` resolver
is included to re-throw `GraphQLError` instances directly.
- Added ledger generation logic for "breathing deposits" (multi-transaction deposits) with
automatic foreign exchange revaluation
- [#2627](https://github.com/Urigo/accounter-fullstack/pull/2627)
[`6f775f0`](https://github.com/Urigo/accounter-fullstack/commit/6f775f0670dbabad5b4ce0746b4ad18d349d313f)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New 'Accounts' Section in Admin
Business View**: A dedicated tab named 'Accounts' has been added to the admin business page,
allowing administrators to manage financial accounts associated with a business.
- **Comprehensive Financial Account Management**: The new section introduces functionality to
view, create, and edit various types of financial accounts, including bank accounts, credit
cards, crypto wallets, bank deposit accounts, and foreign securities accounts. This includes a
modal for modifying account details.
- **Extended Bank Account Details**: Bank accounts can now store a wide array of specific
information such as extended bank numbers, party preferred indications, account involvement
codes, various dates (deal, update, agreement opening), and other descriptive fields like
service authorization and product labels.
- **Dynamic Currency and Tax Category Handling**: Financial accounts now support multiple
currencies, each linked to its own tax category. The UI allows for dynamic addition and removal
of these currency-tax category pairs during account creation or editing.
- **Backend CRUD Operations for Financial Accounts**: New GraphQL queries and mutations have been
implemented on the server-side to support full Create, Read, Update, and Delete (CRUD)
operations for financial accounts, including fetching accounts by owner and by ID.
- **Database Migration for Account Name**: A new database migration has been added to introduce an
`account_name` column to the `financial_accounts` table, providing more flexibility for account
naming.
- [#2572](https://github.com/Urigo/accounter-fullstack/pull/2572)
[`a5875ad`](https://github.com/Urigo/accounter-fullstack/commit/a5875ad5be33b77938d43050cbb22af23e829b3a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **HTML to PDF Conversion**: The method
for converting HTML content has been upgraded from generating PNG images using
`node-html-to-image` to producing high-fidelity PDF documents using `puppeteer`. This change
significantly improves the quality and format of generated documents.
- **Dependency Management**: The project dependencies have been updated to reflect the new
conversion mechanism. `node-html-to-image` was removed, and new packages including `puppeteer`,
`handlebars`, and `inline-css` were added to facilitate the enhanced PDF generation.
- **Improved Error Handling**: Error messages within the `GmailServiceProvider` have been refined
to provide more specific and actionable information, aiding in debugging and troubleshooting
document processing failures.
- [#2554](https://github.com/Urigo/accounter-fullstack/pull/2554)
[`437352d`](https://github.com/Urigo/accounter-fullstack/commit/437352dfc33e40cb6a6e89e9c3c26df9ece063e1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Intent**: This pull request aims to
prevent the creation of duplicate document entries by introducing a file hashing mechanism. It
adds a `file_hash` column to the `documents` table and integrates file hash generation and storage
into the document upload process.
- **Key Changes**: A new database migration adds a `file_hash` column to the
`accounter_schema.documents` table. File content is now hashed during the upload process (e.g.,
for Deel invoices and general document uploads) and stored in this new column. A new DataLoader
is introduced to efficiently retrieve documents by their file hash, and caching is updated to
include hash-based lookups. Integrations like Green Invoice and direct document insertion via
resolvers are updated to handle the new `fileHash` field, initially setting it to `null` where
the hash is not immediately available.
- **Database Schema Updates**: A new migration (`2025-09-19T10-06-24.add-documents-hash.ts`) is
added to create a `file_hash` column (type `text`) in the `accounter_schema.documents` table.
This migration is registered in `run-pg-migrations.ts`.
- **File Hashing Logic**: The `hashStringToInt` helper is imported and used to generate an integer
hash from file content. This is applied in `deel.helper.ts` when uploading Deel invoices and in
`upload.helper.ts` for general document uploads. The hashing process runs in parallel with other
asynchronous operations like Cloudinary uploads and OCR data extraction.
- **Document Upload and Processing**: The `uploadDeelInvoice` function in `deel.helper.ts` now
calculates and stores the file hash. The `getDocumentFromFile` function in `upload.helper.ts` is
refactored to use a new helper `getDocumentFromUrlsAndOceData` and also calculates the file
hash, passing it to the document creation logic. This ensures the hash is captured for newly
uploaded documents.
- **Data Access Layer**: The `DocumentsProvider` in `documents.provider.ts` is updated with a new
SQL query (`getDocumentsByHashes`) and a `DataLoader` (`getDocumentByHash`) to fetch documents
efficiently using their file hash. Cache invalidation in `deleteDocument` now also clears
entries based on `file_hash`.
- **Integrations and Resolvers**: The `insertDocuments` SQL query and related
`IInsertDocumentsParams` are updated to include the `file_hash` field. In
`documents.resolver.ts` and `green-invoice.helper.ts`, new document insertions explicitly set
`fileHash` to `null` where the hash is not generated at that specific point in the workflow.
- [#2605](https://github.com/Urigo/accounter-fullstack/pull/2605)
[`863a592`](https://github.com/Urigo/accounter-fullstack/commit/863a592f83b480a82156c829914b7e7a270a3f96)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Admin Business Configuration Tab**:
Introduced a dedicated "Admin" tab within the business details page to manage administrative
financial information.
- **Frontend Component Development**: A new `AdminBusinessSection` React component was created,
featuring a form for various tax and registration details, with client-side validation using
`zod` and `react-hook-form`.
- **GraphQL API Extension**: New GraphQL types (`CreateAdminBusinessInput`,
`UpdateAdminBusinessInput`) and mutations (`createAdminBusiness`, `updateAdminBusiness`,
`deleteAdminBusiness`) were added to the backend to support the management of admin business
data.
- **Data Fetching and Update Logic**: A new `useUpdateAdminBusiness` hook was implemented on the
frontend to interact with the new GraphQL mutations, handling data submission and user feedback.
- **Backend Resolver Implementation**: Server-side resolvers were updated to expose administrative
business fields and handle the logic for fetching and updating this data.
- [#2561](https://github.com/Urigo/accounter-fullstack/pull/2561)
[`e853097`](https://github.com/Urigo/accounter-fullstack/commit/e853097bbe987be8292981c527ba49562bf2f28b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Refactored Ledger Storage Helper**: The
`storeInitialGeneratedRecords` function in `ledgrer-storage.helper.ts` has been updated to accept
a `chargeId` string instead of a full `charge` object. It now internally fetches the `charge`
using `ChargesProvider` to ensure the most up-to-date data is used.
- **Enhanced Data Integrity**: A null check for the fetched `charge` object has been added within
`storeInitialGeneratedRecords`, preventing potential errors and ensuring that ledger records are
only processed for existing charges.
- **Widespread Resolver Updates**: All relevant ledger generation resolvers across the application
have been updated to pass `charge.id` to the refactored `storeInitialGeneratedRecords` function,
aligning with the new signature and ensuring consistent behavior.
- [#2608](https://github.com/Urigo/accounter-fullstack/pull/2608)
[`b27476e`](https://github.com/Urigo/accounter-fullstack/commit/b27476e4e67717223990c57b990510edbc93d910)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Businesses Screen UI Overhaul**: The
main businesses listing screen has been completely redesigned, transitioning from a traditional
table layout to a modern, card-like display for improved aesthetics and user experience.
- **New BusinessHeader Component**: A dedicated `BusinessHeader` component was introduced to
standardize the display of business information, including dynamic status (Active/Inactive) and
role (Admin/Client) badges.
- **Enhanced Business Navigation**: Each business entry in the list is now clickable, allowing
direct navigation to its detailed page, and includes integrated checkboxes for selection,
enhancing interactivity.
- **Refactored New Business Form**: The 'Insert Business' modal has been significantly refactored,
incorporating Zod for robust validation and organizing the form into distinct, user-friendly
sections for contact information, default settings, and auto-matching configurations.
- **Simplified Business Insertion Logic**: The backend `insertBusiness` resolver was updated to
streamline the process of adding new businesses, specifically by simplifying the handling of tax
category insertions.
- [#2645](https://github.com/Urigo/accounter-fullstack/pull/2645)
[`9d8f87a`](https://github.com/Urigo/accounter-fullstack/commit/9d8f87ad54b583964ba731b8478742c09c5600df)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Refactor**: The
`businesses_admin` table is updated to replace single-value fields for tax and social security
identifiers with array-based JSONB columns, allowing for multiple annual IDs and historical tax
rates.
- **GraphQL Schema Update**: The GraphQL `AdminBusiness` type and related input types
(`CreateAdminBusinessInput`, `UpdateAdminBusinessInput`) are modified to reflect the new array
structures, introducing `AnnualId` and `TaxAdvancesRate` types.
- **Frontend Form Overhaul**: The `admin-business-section.tsx` component is refactored to use
`react-hook-form`'s `useFieldArray` for dynamic management of annual IDs and tax rates,
providing a more flexible user interface.
- **Backend Logic Adaptation**: New Zod schemas and resolver logic are implemented on the server
to validate and process the updated array-based data for admin business updates.
- [#2640](https://github.com/Urigo/accounter-fullstack/pull/2640)
[`26618ff`](https://github.com/Urigo/accounter-fullstack/commit/26618ff2d4a47d63e16ecec59f39887f48df52cf)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Renaming and Restructuring**: Key
components and routes related to "Business Transactions" have been renamed to "Business Ledger
Records" and moved into a new `business-ledger` directory, improving clarity and organization.
- **New Business Detail Tabs**: The business detail page now features new dedicated tabs for
"Ledger" and "Balance", providing a more structured view of financial data.
- **Enhanced Ledger and Transaction Tables**: Both the `LedgerTable` and `TransactionsTable`
components have been updated with pagination, improved sorting capabilities, and clearer column
headers for better user experience.
- **API Expansion**: New GraphQL queries and resolvers have been introduced on the server-side to
support fetching ledger records and transactions specifically by financial entity, catering to
the new UI structure.
- [#2646](https://github.com/Urigo/accounter-fullstack/pull/2646)
[`1c8d288`](https://github.com/Urigo/accounter-fullstack/commit/1c8d28840c2c54a3948cd965695e16f84f0fccf2)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Contracts Screen**: A dedicated
user interface has been introduced for viewing and managing client contracts, accessible via a new
sidebar link.
- **Enhanced Contract Management**: The new screen features a comprehensive data table for
contracts, offering functionalities like sorting, filtering by various criteria (product type,
billing cycle, subscription plan, active status), column visibility toggling, and pagination.
- **Contract Editing Functionality**: Users can now edit existing contracts directly from the
contracts table through a modified dialog that fetches and pre-fills contract details for a
seamless editing experience.
- **Bulk Document Issuance**: A new modal allows users to select multiple contracts and generate
document drafts for a specified month, streamlining the process of creating invoices or other
contract-related documents.
- **Backend API and Caching Improvements**: New GraphQL queries and resolvers have been added to
support fetching contracts by administrator ID and individual contract details. The backend also
includes refined cache invalidation logic for contract operations, ensuring data consistency and
improved performance.
- [#2658](https://github.com/Urigo/accounter-fullstack/pull/2658)
[`7a898a0`](https://github.com/Urigo/accounter-fullstack/commit/7a898a0ff1ee15420ab2532370a1d2f618cc86ab)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Updated all type references from
`definitions` to `$defs` (represented as `_DOLLAR_defs` in TypeScript)
- Added client management operations (add, update, delete)
- Introduced country code conversion utilities
- Moved client helper functions to a dedicated module
- [#2547](https://github.com/Urigo/accounter-fullstack/pull/2547)
[`fd9fb24`](https://github.com/Urigo/accounter-fullstack/commit/fd9fb2445cba9a450f8c78f8100160d9b7c5c38a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - 1. **Environment Variable Validation**: The
`HIVE_TOKEN` and `DEEL_TOKEN` environment variables are now marked as mandatory (`zod.string()`
instead of `zod.string().optional()`) within their respective Zod schemas in
`packages/server/src/environment.ts`. 2. **Model Renaming**: The `GoogleModel` has been renamed to
`GoogleDriveModel` in `packages/server/src/environment.ts`, and all references to it in `configs`
and `env` exports have been updated accordingly. 3. **Conditional Configuration Export**: The
`env` export in `packages/server/src/environment.ts` now conditionally defines the nested
configuration objects for `greenInvoice`, `hive`, `googleDrive`, and `deel`. If the corresponding
environment variables are not present, these top-level objects will be `undefined`. 4. **Safe
Access to Environment Variables**: Throughout the application, specifically in
`packages/server/src/index.ts`,
`packages/server/src/modules/app-providers/deel/deel-client.provider.ts`,
`packages/server/src/modules/app-providers/google-drive/google-drive.provider.ts`, and
`packages/server/src/modules/app-providers/green-invoice-client.ts`, the access patterns for these
environment variables have been updated to use optional chaining (`?.`) to safely handle cases
where the configuration might be `undefined`.
- [#2655](https://github.com/Urigo/accounter-fullstack/pull/2655)
[`e3dc806`](https://github.com/Urigo/accounter-fullstack/commit/e3dc80677201cdbdd038953b572486c25119989e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - Introduced a new `ClientIntegrations`
GraphQL type with a JSONB-backed structure
- Migrated `green_invoice_id` and `hive_id` columns to a unified `integrations` JSONB field
- Added validation helper using Zod schema for client integrations
- Updated GraphQL resolvers to use the new structure, with `GreenInvoiceClient` now resolving as a
string ID
- Activate integrations section in the client management UI to reflect backend changes
- [#2684](https://github.com/Urigo/accounter-fullstack/pull/2684)
[`34cb4cc`](https://github.com/Urigo/accounter-fullstack/commit/34cb4cce5e64caaa4a689247f6cbe92c400dc75c)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Database Schema Refactor**: A new
table, `financial_bank_accounts`, has been introduced to specifically store bank account details,
separating them from the general `financial_accounts` table. A migration is included to populate
this new table with existing bank account data.
- **New GraphQL Module for Bank Accounts**: A dedicated GraphQL module, provider, and resolvers
have been created for `financial-bank-accounts`, allowing for more granular management and
querying of bank account-specific data.
- **Updated Financial Accounts Provider**: The existing `FinancialAccountsProvider` queries have
been updated to explicitly select core financial account fields, as bank-specific details are
now handled by the new `FinancialBankAccountsProvider`.
- Updated dependencies
[[`1ae19c6`](https://github.com/Urigo/accounter-fullstack/commit/1ae19c6f8dabd995120862795284dab6e363dc79),
[`7fef068`](https://github.com/Urigo/accounter-fullstack/commit/7fef0682c7316153ae5ffde42f97ce7284dd4c9a),
[`80402e0`](https://github.com/Urigo/accounter-fullstack/commit/80402e07198a7c6bb78aa9402df7ea4ead779411),
[`48c6d16`](https://github.com/Urigo/accounter-fullstack/commit/48c6d1624c696fc23ab82e28860bd9c290abc07d),
[`65e3c7f`](https://github.com/Urigo/accounter-fullstack/commit/65e3c7f01993eb4f41244a40feefefa08b31a4e6),
[`65e3c7f`](https://github.com/Urigo/accounter-fullstack/commit/65e3c7f01993eb4f41244a40feefefa08b31a4e6),
[`65e3c7f`](https://github.com/Urigo/accounter-fullstack/commit/65e3c7f01993eb4f41244a40feefefa08b31a4e6),
[`7a898a0`](https://github.com/Urigo/accounter-fullstack/commit/7a898a0ff1ee15420ab2532370a1d2f618cc86ab),
[`15ed6f9`](https://github.com/Urigo/accounter-fullstack/commit/15ed6f982a5d288a1159ccd069fca14b35801a18)]:
- @accounter/green-invoice-graphql@0.8.2
- @accounter/pcn874-generator@0.6.3
- @accounter/shaam-uniform-format-generator@0.2.2
- @accounter/shaam6111-generator@0.1.4
## 0.0.7
### Patch Changes
- [#2291](https://github.com/Urigo/accounter-fullstack/pull/2291)
[`633a688`](https://github.com/Urigo/accounter-fullstack/commit/633a68824433dcd4df7be7e9c118ddadbf9a2029)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@4.0.17` ↗︎](https://www.npmjs.com/package/zod/v/4.0.17) (from `3.25.76`,
in `dependencies`)
- [#2368](https://github.com/Urigo/accounter-fullstack/pull/2368)
[`1aa95ab`](https://github.com/Urigo/accounter-fullstack/commit/1aa95abcab34009fa5133352bc3fa54511e293fd)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.5` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.5) (from
`1.2.12`, in `dependencies`)
- Updated dependency [`ai@5.0.16` ↗︎](https://www.npmjs.com/package/ai/v/5.0.16) (from `4.3.19`, in
`dependencies`)
- [#2444](https://github.com/Urigo/accounter-fullstack/pull/2444)
[`6b530f5`](https://github.com/Urigo/accounter-fullstack/commit/6b530f551f1fc559913d966a6e93874338704d9c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.18` ↗︎](https://www.npmjs.com/package/ai/v/5.0.18) (from `5.0.16`, in
`dependencies`)
- [#2449](https://github.com/Urigo/accounter-fullstack/pull/2449)
[`2651e0c`](https://github.com/Urigo/accounter-fullstack/commit/2651e0c98b37d7e58ef123353abcc33738e97b3e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.20` ↗︎](https://www.npmjs.com/package/ai/v/5.0.20) (from `5.0.18`, in
`dependencies`)
- [#2453](https://github.com/Urigo/accounter-fullstack/pull/2453)
[`00ec66f`](https://github.com/Urigo/accounter-fullstack/commit/00ec66f498c07814004813fde92ea177003317a5)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.6` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.6) (from
`2.0.5`, in `dependencies`)
- Updated dependency [`ai@5.0.21` ↗︎](https://www.npmjs.com/package/ai/v/5.0.21) (from `5.0.20`, in
`dependencies`)
- [#2456](https://github.com/Urigo/accounter-fullstack/pull/2456)
[`3fe961a`](https://github.com/Urigo/accounter-fullstack/commit/3fe961a8338359ed544ce4de5730a1898fb1cc43)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@4.1.0` ↗︎](https://www.npmjs.com/package/zod/v/4.1.0) (from `4.0.17`, in
`dependencies`)
- [#2457](https://github.com/Urigo/accounter-fullstack/pull/2457)
[`16b0040`](https://github.com/Urigo/accounter-fullstack/commit/16b0040862d1bf9d65eb9829e8eb33117d60a1c2)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.22` ↗︎](https://www.npmjs.com/package/ai/v/5.0.22) (from `5.0.21`, in
`dependencies`)
- Updated dependency [`zod@4.1.1` ↗︎](https://www.npmjs.com/package/zod/v/4.1.1) (from `4.1.0`, in
`dependencies`)
- [#2459](https://github.com/Urigo/accounter-fullstack/pull/2459)
[`fd1519e`](https://github.com/Urigo/accounter-fullstack/commit/fd1519e1f3bdd98135fd0cff07a2e2594d5543b8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.23` ↗︎](https://www.npmjs.com/package/ai/v/5.0.23) (from `5.0.22`, in
`dependencies`)
- [#2469](https://github.com/Urigo/accounter-fullstack/pull/2469)
[`7176d0d`](https://github.com/Urigo/accounter-fullstack/commit/7176d0d3e1808cc1800e1cabe121b380f0480d63)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.7` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.7) (from
`2.0.6`, in `dependencies`)
- Updated dependency [`ai@5.0.24` ↗︎](https://www.npmjs.com/package/ai/v/5.0.24) (from `5.0.23`, in
`dependencies`)
- Updated dependency [`zod@4.1.3` ↗︎](https://www.npmjs.com/package/zod/v/4.1.3) (from `4.1.1`, in
`dependencies`)
- [#2471](https://github.com/Urigo/accounter-fullstack/pull/2471)
[`0675d71`](https://github.com/Urigo/accounter-fullstack/commit/0675d71ce97b03d4b8b499f8d6c86b27ee2f348a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.8` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.8) (from
`2.0.7`, in `dependencies`)
- Updated dependency [`ai@5.0.26` ↗︎](https://www.npmjs.com/package/ai/v/5.0.26) (from `5.0.24`, in
`dependencies`)
- [#2478](https://github.com/Urigo/accounter-fullstack/pull/2478)
[`86e628e`](https://github.com/Urigo/accounter-fullstack/commit/86e628e40cc0d8fac239cfea2563326094013df4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.9` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.9) (from
`2.0.8`, in `dependencies`)
- Updated dependency [`ai@5.0.29` ↗︎](https://www.npmjs.com/package/ai/v/5.0.29) (from `5.0.26`, in
`dependencies`)
- Updated dependency [`zod@4.1.5` ↗︎](https://www.npmjs.com/package/zod/v/4.1.5) (from `4.1.3`, in
`dependencies`)
- [#2483](https://github.com/Urigo/accounter-fullstack/pull/2483)
[`43760d7`](https://github.com/Urigo/accounter-fullstack/commit/43760d77cb29ea44257d37ca0bc7a97e17aa1c89)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.17` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.17) (from
`2.0.9`, in `dependencies`)
- Updated dependency [`ai@5.0.44` ↗︎](https://www.npmjs.com/package/ai/v/5.0.44) (from `5.0.29`, in
`dependencies`)
- Updated dependency [`dotenv@17.2.2` ↗︎](https://www.npmjs.com/package/dotenv/v/17.2.2) (from
`17.2.1`, in `dependencies`)
- Updated dependency [`zod@4.1.8` ↗︎](https://www.npmjs.com/package/zod/v/4.1.8) (from `4.1.5`, in
`dependencies`)
- [#2489](https://github.com/Urigo/accounter-fullstack/pull/2489)
[`05129a7`](https://github.com/Urigo/accounter-fullstack/commit/05129a7913520dcbc129fcac05787280834db8a5)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.15.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.15.2)
(from `3.15.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.15.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.15.2) (from `5.15.1`,
in `dependencies`)
- Updated dependency [`strip-indent@4.1.0` ↗︎](https://www.npmjs.com/package/strip-indent/v/4.1.0)
(from `4.0.0`, in `dependencies`)
- [#2491](https://github.com/Urigo/accounter-fullstack/pull/2491)
[`e87e1c7`](https://github.com/Urigo/accounter-fullstack/commit/e87e1c7182df6ebd1cbc3ebd20f62664a354e992)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.15.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.15.2)
(from `3.15.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.15.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.15.2) (from `5.15.1`,
in `dependencies`)
- [#2499](https://github.com/Urigo/accounter-fullstack/pull/2499)
[`4e931f8`](https://github.com/Urigo/accounter-fullstack/commit/4e931f8767ae1a6a2ed10a120147ca42c2730273)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.15.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.15.2)
(from `3.15.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.15.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.15.2) (from `5.15.1`,
in `dependencies`)
- Updated dependency [`strip-indent@4.1.0` ↗︎](https://www.npmjs.com/package/strip-indent/v/4.1.0)
(from `4.0.0`, in `dependencies`)
- [#2500](https://github.com/Urigo/accounter-fullstack/pull/2500)
[`b39aa39`](https://github.com/Urigo/accounter-fullstack/commit/b39aa39174d4f6374a74ff71a9a78e500b352e4d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`strip-indent@4.1.0` ↗︎](https://www.npmjs.com/package/strip-indent/v/4.1.0)
(from `4.0.0`, in `dependencies`)
- [#2512](https://github.com/Urigo/accounter-fullstack/pull/2512)
[`590823c`](https://github.com/Urigo/accounter-fullstack/commit/590823cf7105b018a3127abc2343ac714f2845ac)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.45` ↗︎](https://www.npmjs.com/package/ai/v/5.0.45) (from `5.0.44`, in
`dependencies`)
- Updated dependency [`zod@4.1.9` ↗︎](https://www.npmjs.com/package/zod/v/4.1.9) (from `4.1.8`, in
`dependencies`)
- [#2518](https://github.com/Urigo/accounter-fullstack/pull/2518)
[`e0d72c7`](https://github.com/Urigo/accounter-fullstack/commit/e0d72c7c0fac89997f9c96b0180523ac7d889b43)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.47` ↗︎](https://www.npmjs.com/package/ai/v/5.0.47) (from `5.0.45`, in
`dependencies`)
- [#2522](https://github.com/Urigo/accounter-fullstack/pull/2522)
[`df6b635`](https://github.com/Urigo/accounter-fullstack/commit/df6b63558a951ae7a318515d1d8b86b1b49a74a0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@2.0.20` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/2.0.20) (from
`2.0.17`, in `dependencies`)
- Updated dependency
[`@whatwg-node/fetch@0.10.11` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.11)
(from `0.10.10`, in `dependencies`)
- Updated dependency [`ai@5.0.56` ↗︎](https://www.npmjs.com/package/ai/v/5.0.56) (from `5.0.47`, in
`dependencies`)
- Updated dependency [`zod@4.1.11` ↗︎](https://www.npmjs.com/package/zod/v/4.1.11) (from `4.1.9`,
in `dependencies`)
- [#2523](https://github.com/Urigo/accounter-fullstack/pull/2523)
[`48d540a`](https://github.com/Urigo/accounter-fullstack/commit/48d540afe8c4b1479d65b39014af5d3744885ded)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.16.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.16.0)
(from `3.15.2`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.16.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.16.0) (from `5.15.2`,
in `dependencies`)
- [#2531](https://github.com/Urigo/accounter-fullstack/pull/2531)
[`fc3c91d`](https://github.com/Urigo/accounter-fullstack/commit/fc3c91dca23866b73165e076bad1b50c6d2687ab)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@5.0.57` ↗︎](https://www.npmjs.com/package/ai/v/5.0.57) (from `5.0.56`, in
`dependencies`)
- [#2436](https://github.com/Urigo/accounter-fullstack/pull/2436)
[`17c75ad`](https://github.com/Urigo/accounter-fullstack/commit/17c75ad6c675c3db6e35c4ef309b9d005dacd265)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Performance Optimization**: Introduced
DataLoader for batching and caching requests to the Green Invoice API for both documents and
clients, significantly reducing redundant API calls.
- **Caching Implementation**: Implemented a caching layer for Green Invoice API responses,
improving response times and overall system efficiency.
- **Document Status Update Fix**: Fixed an issue with document status updates by ensuring that
document data is invalidated from the cache when a document is closed, preventing stale data
from being served.
- **API Call Refactoring**: Refactored various parts of the codebase to utilize the newly
introduced DataLoader and caching mechanisms, streamlining interactions with the Green Invoice
API.
- [#2532](https://github.com/Urigo/accounter-fullstack/pull/2532)
[`8e079cd`](https://github.com/Urigo/accounter-fullstack/commit/8e079cdd9405f078c8b87ac54e67f05dad95bca4)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Enhanced Business Suggestion Data**:
The `suggestionData` structure for businesses has been extended to include new fields: `emails`,
`internalEmailLinks`, and `priority`, allowing for more comprehensive business suggestions.
- **Introduced Zod for Data Validation**: A new Zod schema (`suggestionDataSchema`) has been
implemented to provide robust runtime validation for `suggestionData`. This replaces previous
type assertions, ensuring data integrity and consistency across the application.
- **Refactored Suggestion Handling Logic**: The `updateSuggestions` helper function and various
resolvers have been updated to correctly process, merge, and validate the new `suggestionData`
fields using the Zod schema, improving reliability and error handling.
- **GraphQL Schema Update**: The GraphQL types `Suggestion` and `SuggestionInput` have been
modified to reflect the newly added `emails`, `internalEmailLinks`, and `priority` fields,
making them available through the API.
- [#2510](https://github.com/Urigo/accounter-fullstack/pull/2510)
[`40bf4ab`](https://github.com/Urigo/accounter-fullstack/commit/40bf4abfec0c323fdfd4170980e99d42667a3457)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Batch Transaction Update API**:
Introduced a new GraphQL mutation, `updateTransactions`, allowing multiple transactions to be
updated in a single API call. This mutation accepts an array of transaction IDs and the fields to
update.
- **Client-Side Hook for Batch Updates**: A new React hook, `useUpdateTransactions`, has been
added to facilitate client-side consumption of the batch update functionality, complete with
loading, success, and error state notifications.
- **Backend Logic for Batch Updates**: Implemented a new SQL query and a corresponding provider
method to efficiently handle batch updates on the `transactions` table. The existing single
transaction update method was refactored to utilize this new batch mechanism.
- **UI Integration**: The `similar-transactions-modal` component was updated to leverage the new
`useUpdateTransactions` hook, enabling users to approve and update multiple similar transactions
with a single action, improving user experience and reducing server load.
- [#2467](https://github.com/Urigo/accounter-fullstack/pull/2467)
[`6a20538`](https://github.com/Urigo/accounter-fullstack/commit/6a20538592f5a8781ce9598caa73882ccb2c9a50)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New GraphQL Module**: A dedicated
`admin-context` GraphQL module has been added to the application. This module centralizes the
management of various administrative context settings, such as default currencies, tax categories,
and business IDs.
- **Admin Context Management**: The module introduces new GraphQL queries to fetch `adminContext`
by `ownerId` and mutations to `updateAdminContext`. These operations allow for comprehensive
management of a wide range of configurable fields related to financial and tax operations.
- **Data Layer Integration**: An `AdminContextProvider` has been implemented, leveraging
DataLoader for efficient data fetching. This provider interacts with the `user_context` database
table, ensuring that data retrieval is optimized through batching and caching.
- **Related Entity Resolution**: Helper functions and resolvers have been added to automatically
fetch and resolve associated `TaxCategory` and `Business` entities. This ensures that when an
`AdminContext` is queried, all related details are seamlessly provided.
- **Schema Definition**: The GraphQL schema for the `AdminContext` type and its input has been
defined, detailing a comprehensive set of fields for various financial and tax-related
configurations, ensuring a clear and structured API.
- [#2517](https://github.com/Urigo/accounter-fullstack/pull/2517)
[`dfd2de0`](https://github.com/Urigo/accounter-fullstack/commit/dfd2de0892a8d5d4c2f89cf3a610d2a5d45e847a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Database Migration for SWIFT Fee
Handling**: A new PostgreSQL migration is introduced to modify the
`insert_poalim_swift_transaction_handler` function, ensuring proper processing of SWIFT fees.
- **Conditional Fee Transaction Creation**: The updated database function now explicitly checks if
the calculated `fee_amount` is greater than or equal to zero before creating a transaction
record for the fee, preventing the creation of transactions for negative fees.
- **Preventing Zero-Amount Ledger Entries**: The `getEntriesFromFeeTransaction` helper function in
the ledger module has been updated to return early if a fee transaction has a zero amount,
thereby preventing the creation of unnecessary ledger entries.
- Updated dependencies
[[`86e628e`](https://github.com/Urigo/accounter-fullstack/commit/86e628e40cc0d8fac239cfea2563326094013df4),
[`43760d7`](https://github.com/Urigo/accounter-fullstack/commit/43760d77cb29ea44257d37ca0bc7a97e17aa1c89),
[`e0d72c7`](https://github.com/Urigo/accounter-fullstack/commit/e0d72c7c0fac89997f9c96b0180523ac7d889b43),
[`633a688`](https://github.com/Urigo/accounter-fullstack/commit/633a68824433dcd4df7be7e9c118ddadbf9a2029),
[`3fe961a`](https://github.com/Urigo/accounter-fullstack/commit/3fe961a8338359ed544ce4de5730a1898fb1cc43),
[`16b0040`](https://github.com/Urigo/accounter-fullstack/commit/16b0040862d1bf9d65eb9829e8eb33117d60a1c2),
[`7176d0d`](https://github.com/Urigo/accounter-fullstack/commit/7176d0d3e1808cc1800e1cabe121b380f0480d63),
[`86e628e`](https://github.com/Urigo/accounter-fullstack/commit/86e628e40cc0d8fac239cfea2563326094013df4),
[`43760d7`](https://github.com/Urigo/accounter-fullstack/commit/43760d77cb29ea44257d37ca0bc7a97e17aa1c89),
[`590823c`](https://github.com/Urigo/accounter-fullstack/commit/590823cf7105b018a3127abc2343ac714f2845ac),
[`df6b635`](https://github.com/Urigo/accounter-fullstack/commit/df6b63558a951ae7a318515d1d8b86b1b49a74a0),
[`633a688`](https://github.com/Urigo/accounter-fullstack/commit/633a68824433dcd4df7be7e9c118ddadbf9a2029),
[`c56e276`](https://github.com/Urigo/accounter-fullstack/commit/c56e276f6e2addab88cd9fcd11b68fbc15c6f41a),
[`3fe961a`](https://github.com/Urigo/accounter-fullstack/commit/3fe961a8338359ed544ce4de5730a1898fb1cc43),
[`16b0040`](https://github.com/Urigo/accounter-fullstack/commit/16b0040862d1bf9d65eb9829e8eb33117d60a1c2),
[`7176d0d`](https://github.com/Urigo/accounter-fullstack/commit/7176d0d3e1808cc1800e1cabe121b380f0480d63),
[`86e628e`](https://github.com/Urigo/accounter-fullstack/commit/86e628e40cc0d8fac239cfea2563326094013df4),
[`43760d7`](https://github.com/Urigo/accounter-fullstack/commit/43760d77cb29ea44257d37ca0bc7a97e17aa1c89),
[`590823c`](https://github.com/Urigo/accounter-fullstack/commit/590823cf7105b018a3127abc2343ac714f2845ac),
[`df6b635`](https://github.com/Urigo/accounter-fullstack/commit/df6b63558a951ae7a318515d1d8b86b1b49a74a0),
[`633a688`](https://github.com/Urigo/accounter-fullstack/commit/633a68824433dcd4df7be7e9c118ddadbf9a2029),
[`c56e276`](https://github.com/Urigo/accounter-fullstack/commit/c56e276f6e2addab88cd9fcd11b68fbc15c6f41a),
[`3fe961a`](https://github.com/Urigo/accounter-fullstack/commit/3fe961a8338359ed544ce4de5730a1898fb1cc43),
[`16b0040`](https://github.com/Urigo/accounter-fullstack/commit/16b0040862d1bf9d65eb9829e8eb33117d60a1c2),
[`7176d0d`](https://github.com/Urigo/accounter-fullstack/commit/7176d0d3e1808cc1800e1cabe121b380f0480d63),
[`86e628e`](https://github.com/Urigo/accounter-fullstack/commit/86e628e40cc0d8fac239cfea2563326094013df4),
[`43760d7`](https://github.com/Urigo/accounter-fullstack/commit/43760d77cb29ea44257d37ca0bc7a97e17aa1c89),
[`590823c`](https://github.com/Urigo/accounter-fullstack/commit/590823cf7105b018a3127abc2343ac714f2845ac),
[`df6b635`](https://github.com/Urigo/accounter-fullstack/commit/df6b63558a951ae7a318515d1d8b86b1b49a74a0)]:
- @accounter/green-invoice-graphql@0.8.1
- @accounter/pcn874-generator@0.6.2
- @accounter/shaam-uniform-format-generator@0.2.1
- @accounter/shaam6111-generator@0.1.3
## 0.0.6
### Patch Changes
- [#2252](https://github.com/Urigo/accounter-fullstack/pull/2252)
[`f783100`](https://github.com/Urigo/accounter-fullstack/commit/f783100e05aa0aeb4bd5587760d098613cb2e24f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv@17.2.1` ↗︎](https://www.npmjs.com/package/dotenv/v/17.2.1) (from
`16.6.1`, in `dependencies`)
- [#2263](https://github.com/Urigo/accounter-fullstack/pull/2263)
[`6003953`](https://github.com/Urigo/accounter-fullstack/commit/6003953e6fd21be6601ec7f7d9b5a077453ab094)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.14.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.14.0)
(from `3.13.5`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.14.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.14.0) (from `5.13.5`,
in `dependencies`)
- [#2268](https://github.com/Urigo/accounter-fullstack/pull/2268)
[`1069779`](https://github.com/Urigo/accounter-fullstack/commit/1069779e986bbdb9f5d1ef8c1f25ccd66e2b1691)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.71` ↗︎](https://www.npmjs.com/package/zod/v/3.25.71) (from
`3.25.67`, in `dependencies`)
- [#2273](https://github.com/Urigo/accounter-fullstack/pull/2273)
[`dc6fae4`](https://github.com/Urigo/accounter-fullstack/commit/dc6fae4ae197f8ec12e426bb773cfb88fa111a46)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.74` ↗︎](https://www.npmjs.com/package/zod/v/3.25.74) (from
`3.25.71`, in `dependencies`)
- [#2278](https://github.com/Urigo/accounter-fullstack/pull/2278)
[`2bab7e1`](https://github.com/Urigo/accounter-fullstack/commit/2bab7e1529ef7ee313f928f58772aefe200a16ee)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`zod@3.25.74` ↗︎](https://www.npmjs.com/package/zod/v/3.25.74) (from
`3.25.71`, in `dependencies`)
- [#2281](https://github.com/Urigo/accounter-fullstack/pull/2281)
[`138acaa`](https://github.com/Urigo/accounter-fullstack/commit/138acaa9014546f9fffa30386fa956340f92df61)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.75` ↗︎](https://www.npmjs.com/package/zod/v/3.25.75) (from
`3.25.74`, in `dependencies`)
- [#2285](https://github.com/Urigo/accounter-fullstack/pull/2285)
[`53c880d`](https://github.com/Urigo/accounter-fullstack/commit/53c880d21e0cc49333e725a57659bdcbb5bf1232)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`zod@3.25.75` ↗︎](https://www.npmjs.com/package/zod/v/3.25.75) (from
`3.25.74`, in `dependencies`)
- [#2286](https://github.com/Urigo/accounter-fullstack/pull/2286)
[`b72c486`](https://github.com/Urigo/accounter-fullstack/commit/b72c48695f7f2f1a3e99077da1a362ab5f389f23)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.17` ↗︎](https://www.npmjs.com/package/ai/v/4.3.17) (from `4.3.16`, in
`dependencies`)
- Updated dependency [`zod@3.25.76` ↗︎](https://www.npmjs.com/package/zod/v/3.25.76) (from
`3.25.75`, in `dependencies`)
- [#2289](https://github.com/Urigo/accounter-fullstack/pull/2289)
[`bd7a74b`](https://github.com/Urigo/accounter-fullstack/commit/bd7a74b173994b6449d250e4868509a1243e5af6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.42.2` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.42.2) (from
`0.42.1`, in `dependencies`)
- Updated dependency [`ai@4.3.17` ↗︎](https://www.npmjs.com/package/ai/v/4.3.17) (from `4.3.16`, in
`dependencies`)
- Updated dependency [`zod@3.25.76` ↗︎](https://www.npmjs.com/package/zod/v/3.25.76) (from
`3.25.75`, in `dependencies`)
- [#2292](https://github.com/Urigo/accounter-fullstack/pull/2292)
[`6c797c6`](https://github.com/Urigo/accounter-fullstack/commit/6c797c6f885ee1d45395a76089f92a95483d5d3a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`ai@4.3.17` ↗︎](https://www.npmjs.com/package/ai/v/4.3.17) (from `4.3.16`, in
`dependencies`)
- Updated dependency [`zod@3.25.76` ↗︎](https://www.npmjs.com/package/zod/v/3.25.76) (from
`3.25.75`, in `dependencies`)
- [#2293](https://github.com/Urigo/accounter-fullstack/pull/2293)
[`3a511ca`](https://github.com/Urigo/accounter-fullstack/commit/3a511ca20d9cf7f62f0d5f6c1f8283d103160de4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.42.2` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.42.2) (from
`0.42.1`, in `dependencies`)
- [#2298](https://github.com/Urigo/accounter-fullstack/pull/2298)
[`814c130`](https://github.com/Urigo/accounter-fullstack/commit/814c13063fbf41bd7a737005eb618efd20876d0f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.15.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.15.0)
(from `3.14.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.15.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.15.0) (from `5.14.0`,
in `dependencies`)
- [#2306](https://github.com/Urigo/accounter-fullstack/pull/2306)
[`a491206`](https://github.com/Urigo/accounter-fullstack/commit/a491206eeedf25ddab8e308a409357d841673062)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.15.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.15.0)
(from `3.14.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.15.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.15.0) (from `5.14.0`,
in `dependencies`)
- [#2307](https://github.com/Urigo/accounter-fullstack/pull/2307)
[`70e1f9e`](https://github.com/Urigo/accounter-fullstack/commit/70e1f9e5b1139aaecf3be58b616ccb361256b917)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.15.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.15.1)
(from `3.15.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.15.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.15.1) (from `5.15.0`,
in `dependencies`)
- [#2310](https://github.com/Urigo/accounter-fullstack/pull/2310)
[`95da5aa`](https://github.com/Urigo/accounter-fullstack/commit/95da5aa4e2666e78fc42c3c8f231b43a3f23a506)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.18` ↗︎](https://www.npmjs.com/package/ai/v/4.3.18) (from `4.3.17`, in
`dependencies`)
- [#2315](https://github.com/Urigo/accounter-fullstack/pull/2315)
[`4b8b51f`](https://github.com/Urigo/accounter-fullstack/commit/4b8b51f3b33577283137caa8232f4457c20aa9cf)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.19` ↗︎](https://www.npmjs.com/package/ai/v/4.3.19) (from `4.3.18`, in
`dependencies`)
- [#2320](https://github.com/Urigo/accounter-fullstack/pull/2320)
[`fcf060c`](https://github.com/Urigo/accounter-fullstack/commit/fcf060c93a42fceb401cab55f62104dba14ddc36)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.9` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.9) (from
`0.10.8`, in `dependencies`)
- [#2322](https://github.com/Urigo/accounter-fullstack/pull/2322)
[`408b287`](https://github.com/Urigo/accounter-fullstack/commit/408b287588f1753776cd98755383fc269d7410fb)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`@accounter/shaam-uniform-format-generator@workspace:^` ↗︎](https://www.npmjs.com/package/@accounter/shaam-uniform-format-generator/v/workspace:^)
(to `dependencies`)
- [#2336](https://github.com/Urigo/accounter-fullstack/pull/2336)
[`5dea1b7`](https://github.com/Urigo/accounter-fullstack/commit/5dea1b7c849d901ce7d161e24169c24b4d5bea61)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv-cli@9.0.0` ↗︎](https://www.npmjs.com/package/dotenv-cli/v/9.0.0)
(from `8.0.0`, in `dependencies`)
- [#2357](https://github.com/Urigo/accounter-fullstack/pull/2357)
[`eac0da7`](https://github.com/Urigo/accounter-fullstack/commit/eac0da793a164a332aa0fdee86b257945ec8ec6a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv-cli@10.0.0` ↗︎](https://www.npmjs.com/package/dotenv-cli/v/10.0.0)
(from `9.0.0`, in `dependencies`)
- [#2376](https://github.com/Urigo/accounter-fullstack/pull/2376)
[`dbd9059`](https://github.com/Urigo/accounter-fullstack/commit/dbd905919904037404bde90b3d34f055b0c8a4c8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.10` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.10)
(from `0.10.9`, in `dependencies`)
- [#2374](https://github.com/Urigo/accounter-fullstack/pull/2374)
[`44a0512`](https://github.com/Urigo/accounter-fullstack/commit/44a0512e18d2c103a7d307397f3c4bd94f244441)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - * **Refactored Invoice Filtering**: The
`fetchAndFilterInvoices` helper function in `deel.helper.ts` has been streamlined. It now
exclusively identifies and returns Deel invoices that are *not\* yet present in the database,
removing the previous logic for tracking 'known' receipt IDs. This simplifies its responsibility
to only provide new invoices for processing.
- **Improved Receipt-Charge Matching Efficiency**: A new, optimized database query
(`getReceiptToCharge`) has been introduced in `deel-invoices.provider.ts`. This query
efficiently retrieves all existing Deel receipt-to-charge mappings directly from the database,
ensuring that for each payment ID, the most recent associated charge ID is fetched.
- **Streamlined Charge Matching Logic**: The `getChargeMatchesForPayments` helper function in
`deel.helper.ts` has been updated to leverage the new `getReceiptToCharge` method from
`DeelInvoicesProvider`. This change eliminates the need to pass an intermediate
`knownReceiptIds` set and perform individual lookups, leading to a more direct and efficient
matching process.
- [#2300](https://github.com/Urigo/accounter-fullstack/pull/2300)
[`aa95d61`](https://github.com/Urigo/accounter-fullstack/commit/aa95d61169177165cbe513c8a9ccb7766518e824)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **New Features**
- Added modal to display similar charges by business, accessible from business card.
- The modal appears after updating business information if suggestion tags or descriptions are
present.
- **Improvements**
- Enhanced filtering of similar charges to exclude charges with identical tags or descriptions.
- Improved suggestion merging logic to better retain existing tags and phrases.
- **Bug Fixes**
- Fixed modal behavior to ensure correct display and filtering based on user actions.
- [#2334](https://github.com/Urigo/accounter-fullstack/pull/2334)
[`0c6ac6c`](https://github.com/Urigo/accounter-fullstack/commit/0c6ac6c0fd8d7afe96ce26260a514ccb682e621b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Document Generation UI**: I've
introduced a brand new UI screen, `IssueDocumentScreen`, that allows users to create and configure
various accounting documents like invoices and receipts with extensive settings for document type,
language, currency, and VAT.
- **Real-time PDF Document Preview**: Users can now preview generated documents in real-time
directly within the UI before issuing them, powered by the `pdfjs-dist` library for client-side
PDF rendering.
- **Comprehensive Document Configuration**: The new UI provides detailed configuration options,
including fields for client information, managing multiple income items (description, price,
quantity, VAT), and specifying various payment methods with their unique details (e.g., bank,
credit card, PayPal, payment app).
- **GraphQL API Extensions for Document Management**: I've extended the GraphQL API with a new
`previewGreenInvoiceDocument` mutation for generating PDF previews and a `newDocumentInfoDraft`
query to pre-populate document forms based on existing charge data.
- **Enhanced Document Actions in Table View**: I've added the ability to close and re-issue
documents directly from the documents table, providing a more streamlined workflow for managing
document statuses.
- **New 'With Open Documents' Filter**: A new filter, 'With Open Documents', has been added to the
charges filter, allowing users to easily identify and manage charges that have associated open
documents.
- **GraphQL Query Refactoring**: I've refactored several GraphQL queries from fetching multiple
charges (`chargesByIDs`) to fetching a single charge (`charge`), simplifying data retrieval for
individual charge details.
- **Database Migration for Open Documents Flag**: A new database migration introduces an
`open_docs_flag` to the `extended_charges` view, enabling efficient filtering of charges based
on their associated open documents.
- [#2424](https://github.com/Urigo/accounter-fullstack/pull/2424)
[`140bb3e`](https://github.com/Urigo/accounter-fullstack/commit/140bb3e9a4604a7f0d32e3fcee0e53c30d5c277b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **Introduced Client and Contract
Management**: Replaced the GreenInvoiceBusiness concept with dedicated Client and Contract
entities, enabling more granular management of client relationships and billing agreements.
- **Database Schema Evolution**: Implemented a new migration to rename the
businesses_green_invoice_match table to clients and introduced a new clients_contracts table to
store contract details.
- **GraphQL API Expansion**: Added new GraphQL modules for contracts and enhanced the
financial-entities module with clients resolvers and types, providing a more structured API for
client and contract data.
- **Streamlined Monthly Document Generation UI**: Updated the user interface for issuing monthly
documents to leverage the new client and contract data, improving the selection process and
draft generation.
- **Removed Legacy CSV Functionality**: Deprecated and removed the CSV upload and download
features related to monthly document drafts, simplifying the workflow.
- [#2399](https://github.com/Urigo/accounter-fullstack/pull/2399)
[`ffe296d`](https://github.com/Urigo/accounter-fullstack/commit/ffe296d26899cb8cf6d843c4efebefa170cac95e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **Client Form Refactoring**: The client
form (`client-form.tsx`) has been updated to use GraphQL fragments for client data, introducing a
`normalizeClientInfo` utility for consistent data transformation. It now includes a `fetching`
state to provide better loading feedback.
- **Income Form Enhancements**: The income form (`income-form.tsx`) has been reorganized to
improve layout and data input, including the addition of currency selection and reordering of
fields. Some previously included fields like 'Catalog Number' have been commented out or removed
from the data structure.
- **Main Document Issuance Form Logic**: The central `GenerateDocument` component (`index.tsx`)
now dynamically fetches client information using `urql`'s `useQuery` hook, allowing for
pre-population of client details. Several sections related to description, footer text,
discount, rounding, and digital signature have been temporarily commented out in the UI.
- **Payment Form Modularity**: The payment form (`payment-form.tsx`) has been refactored to
generalize account and transaction input fields using a `useCallback` hook, and payment
type-specific fields (e.g., for wire transfers, cheques, PayPal, and other payment apps) are now
conditionally rendered for better clarity.
- **Backend Data Handling**: On the server-side, new helper functions have been introduced
(`issue-document.helper.ts`) to deduce VAT types, retrieve linked document attributes, determine
document dates from transactions, and fetch detailed client information from Green Invoice. The
GraphQL schema (`green-invoice.graphql.ts`) and resolvers (`green-invoice.resolvers.ts`) have
been updated to reflect these new data structures and logic, including the removal of redundant
fields from `GreenInvoiceIncome`.
- **Document Naming Conventions**: Minor textual updates have been made to document names (e.g.,
"Proforma" to "Proforma Invoice") for improved clarity.
- [#2334](https://github.com/Urigo/accounter-fullstack/pull/2334)
[`0c6ac6c`](https://github.com/Urigo/accounter-fullstack/commit/0c6ac6c0fd8d7afe96ce26260a514ccb682e621b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **New UI for Document Generation**: A
comprehensive new UI screen (`IssueDocumentScreen`) has been added, allowing users to create and
configure various accounting documents (e.g., invoices, receipts) with detailed settings for
document type, language, currency, and VAT.
- **Real-time Document Preview**: Users can now preview generated documents (likely PDFs) directly
within the UI before officially issuing them, powered by the `pdfjs-dist` library for
client-side rendering.
- **Detailed Document Configuration**: The new UI provides extensive fields for capturing client
information, managing multiple income items (description, price, quantity, VAT), and specifying
various payment methods with their unique details (e.g., bank, credit card, PayPal, payment
app).
- **GraphQL API Extension for Preview**: The backend GraphQL API has been extended with a new
`previewGreenInvoiceDocument` mutation, enabling the client to send detailed document input and
receive a base64-encoded PDF preview.
- **Improved Green Invoice Integration**: New helper functions and schema updates ensure proper
mapping of UI inputs to the Green Invoice API's complex data structures for document generation
and preview, handling various enums and nested objects.
- [#2392](https://github.com/Urigo/accounter-fullstack/pull/2392)
[`abe60ad`](https://github.com/Urigo/accounter-fullstack/commit/abe60ad1cece8223c7c95b472c3b8104e9a91acb)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Email Sending Control**: I've added a
new sendEmail option to the document issuing flow, giving users the flexibility to decide whether
an email should be dispatched to the client along with the document.
- **Enhanced UI for Email Options**: I've integrated a 'Should Send Email' checkbox into the
document issuance modal. This checkbox dynamically controls the enabled state of the email
content and attachment fields, ensuring a streamlined user experience.
- **Backend Email Dispatch Logic**: On the server side, I've updated the issueGreenInvoiceDocument
resolver to honor the sendEmail flag. If sendEmail is false, the system will prevent emails from
being sent by clearing the client's email addresses before processing.
- **Automated Linked Document Closure**: I've implemented a feature that automatically closes any
linked documents when a new document is successfully issued, improving document lifecycle
management.
- **Improved Green Invoice Remarks**: I've enhanced the Green Invoice integration to automatically
pull and apply remarks from associated business matches, providing more relevant document
descriptions.
- [#2435](https://github.com/Urigo/accounter-fullstack/pull/2435)
[`eeb533e`](https://github.com/Urigo/accounter-fullstack/commit/eeb533e95042abb684bb72461a89e780cd25121e)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Feature: Foreign Securities
Charges**: Comprehensive support for 'Foreign Securities Charges' has been introduced across the
application. This includes new database fields, GraphQL types, frontend UI components, and backend
resolvers to correctly categorize, display, and process these charges.
- **Module Refactoring and Enhancements: Bank Deposits**: A new dedicated GraphQL module for 'Bank
Deposits' has been created, along with new UI components to display bank deposit information,
including balances and associated transactions. This refactors existing bank deposit logic into
a more organized structure.
- **Enhanced Ledger Generation for Foreign Securities**: Advanced ledger generation logic has been
implemented specifically for 'Foreign Securities Charges'. This new resolver handles complex
scenarios involving main transactions, associated fees, and currency exchange rates to ensure
accurate financial record-keeping.
- **Admin Context Configuration for Foreign Securities**: The application's administrative context
has been updated to include configuration for foreign securities, allowing for the definition of
specific business and fees categories related to these charges.
- **System-Wide Integration of New Charge Type**: Various frontend and backend components have
been updated to recognize and correctly handle the new 'ForeignSecuritiesCharge' type, ensuring
proper display, validation, and integration with existing features like accountant approval,
documents, and tags.
- [#2338](https://github.com/Urigo/accounter-fullstack/pull/2338)
[`585d74c`](https://github.com/Urigo/accounter-fullstack/commit/585d74cb2867c933e745468e496d951b6488c155)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Support SEK currency across all layers of
the project.
- [#2322](https://github.com/Urigo/accounter-fullstack/pull/2322)
[`408b287`](https://github.com/Urigo/accounter-fullstack/commit/408b287588f1753776cd98755383fc269d7410fb)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **New Client-Side Feature**: I've added
a new modal component (`FileDownloadModal`) to the client application, allowing users to select a
date range and trigger the generation and download of uniform format files (bkmvdata and ini)
directly from the UI.
- **Data Model Extension**: The `JournalEntry` and `BusinessMetadata` schemas have been extended
to support additional optional fields, such as `batchNumber`, `transactionType`,
`referenceDocument`, `currencyCode`, `foreignCurrencyAmount` for journal entries, and `address`
details for business metadata. This enriches the data available for reporting.
- **Uniform Format Generator Enhancement**: The `generateUniformFormatReport` function in the
generator package has been updated to consume and incorporate these new extended fields from the
`JournalEntry` and `BusinessMetadata` into the generated uniform format files, ensuring more
comprehensive reports.
- **Testing**: New unit tests have been added to verify that the uniform format generator
correctly handles journal entries with the newly introduced extended fields, ensuring data
integrity and proper report generation.
- [#2367](https://github.com/Urigo/accounter-fullstack/pull/2367)
[`33b7fd7`](https://github.com/Urigo/accounter-fullstack/commit/33b7fd7f476bd59aad37442ad1d0b7497e31d3d4)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **New Database Schema for Issued
Documents**: I've introduced a new `documents_issued` table in the database. This table stores
crucial metadata for documents generated by our system (e.g., via Green Invoice), including their
external ID, current status, and any linked documents. A new `document_status` enum has also been
added to track the lifecycle of these documents.
- **Enhanced Green Invoice Integration**: The Green Invoice client and GraphQL API have been
significantly extended. New capabilities allow us to preview, issue, and close documents
directly through the Green Invoice API via new GraphQL mutations. This provides more
comprehensive control over self-issued financial documents.
- **Improved Document Synchronization Logic**: The `fetchIncomeDocuments` mutation has been
refactored to not only ingest new documents from Green Invoice but also to intelligently
identify and update the status and linked documents of existing self-issued records in our
database. This ensures better data consistency with the external system.
- **GraphQL API Expansion for Document Management**: I've exposed new GraphQL types
(`IssuedDocumentInfo`) and mutations (`closeDocument`, `previewGreenInvoiceDocument`,
`issueGreenInvoiceDocument`) to provide a richer API for managing self-issued documents and
their associated information, including their status and links to other documents.
- [#2272](https://github.com/Urigo/accounter-fullstack/pull/2272)
[`a6f9e78`](https://github.com/Urigo/accounter-fullstack/commit/a6f9e78705414e772d6b92dcab8319f529e886e6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Introduce Admin Businesses module,to
defrenciate from common businesses and add unique relevant information
- [#2409](https://github.com/Urigo/accounter-fullstack/pull/2409)
[`bb522fd`](https://github.com/Urigo/accounter-fullstack/commit/bb522fd110a880397cda47c7baf20ef6b0479166)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - \* **Component Renaming**: I've renamed the
`IssueDocumentModal` to `PreviewDocumentModal` across the client-side components to better reflect
its primary function of preparing and reviewing documents before final issuance.
- **Enhanced Document Closure**: The `CloseDocumentButton` now includes enhanced functionality,
allowing users to optionally issue a credit invoice when closing certain types of documents,
complete with a confirmation modal for a smoother workflow.
- **Improved Document Generation Form**: I've refined the `GenerateDocument` form by implementing
conditional rendering for fields like `maxPayments` and `dueDate`, and for the `IncomeForm` and
`PaymentForm`, ensuring only relevant fields are displayed based on the document type.
Additionally, `linkedDocumentIds` are now passed to `RecentClientDocs` for better context.
- **Refactored Document Tables**: The `RecentClientDocs` component has been refactored to leverage
`@tanstack/react-table`, providing a more robust and flexible table display. It now also
highlights linked documents, making it easier to identify related entries.
- **New Document Description Column**: I've introduced a new `Description` column to document
tables, which displays a summary of income descriptions from the associated documents, offering
more immediate insight into document content.
- **Backend Document Synchronization and Closure Improvements**: On the backend, I've updated the
document synchronization logic to first process new document insertions and then handle updates
to existing documents. The process for closing linked documents has also been improved to use
`updateIssuedDocumentByExternalId` and now correctly avoids closing receipts.
- **GraphQL API Enhancement**: A new `originalDocument` field has been added to the
`IssuedDocumentInfo` GraphQL type, enabling the retrieval of full Green Invoice document details
directly from the API.
- [#2257](https://github.com/Urigo/accounter-fullstack/pull/2257)
[`29895c4`](https://github.com/Urigo/accounter-fullstack/commit/29895c4af2e34455a438743a37c43fc1d67531b7)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Extend Deel API response schema
- [#2285](https://github.com/Urigo/accounter-fullstack/pull/2285)
[`53c880d`](https://github.com/Urigo/accounter-fullstack/commit/53c880d21e0cc49333e725a57659bdcbb5bf1232)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Enable batch approval for charge
tags/description suggestions.
- [#2404](https://github.com/Urigo/accounter-fullstack/pull/2404)
[`9c2c79c`](https://github.com/Urigo/accounter-fullstack/commit/9c2c79cf9c36bfeea84119e61a062c6fec843ec0)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New GraphQL Queries and Resolvers**:
Introduced new GraphQL queries (`recentDocumentsByClient` and `recentIssuedDocumentsByType`) and
corresponding backend resolvers to efficiently fetch documents based on client ID and document
type, respectively. This enables the new UI features.
- **Reusable Documents Table**: The `DocumentsTable` component has been refactored to be more
generic and reusable. It now accepts a direct array of document fragments and includes a
`limited` prop to control column visibility, making it suitable for displaying concise lists of
documents in various contexts.
- **Backend Data Fetching Improvements**: New SQL queries and a DataLoader have been added to the
`IssuedDocumentsProvider` to optimize the fetching of documents by client ID, ensuring efficient
data retrieval for the new frontend features.
- Updated dependencies
[[`b1352c4`](https://github.com/Urigo/accounter-fullstack/commit/b1352c4190bad2d93d1be823d96ff2b53df7387a),
[`1069779`](https://github.com/Urigo/accounter-fullstack/commit/1069779e986bbdb9f5d1ef8c1f25ccd66e2b1691),
[`dc6fae4`](https://github.com/Urigo/accounter-fullstack/commit/dc6fae4ae197f8ec12e426bb773cfb88fa111a46),
[`2bab7e1`](https://github.com/Urigo/accounter-fullstack/commit/2bab7e1529ef7ee313f928f58772aefe200a16ee),
[`138acaa`](https://github.com/Urigo/accounter-fullstack/commit/138acaa9014546f9fffa30386fa956340f92df61),
[`53c880d`](https://github.com/Urigo/accounter-fullstack/commit/53c880d21e0cc49333e725a57659bdcbb5bf1232),
[`b72c486`](https://github.com/Urigo/accounter-fullstack/commit/b72c48695f7f2f1a3e99077da1a362ab5f389f23),
[`bd7a74b`](https://github.com/Urigo/accounter-fullstack/commit/bd7a74b173994b6449d250e4868509a1243e5af6),
[`6c797c6`](https://github.com/Urigo/accounter-fullstack/commit/6c797c6f885ee1d45395a76089f92a95483d5d3a),
[`1069779`](https://github.com/Urigo/accounter-fullstack/commit/1069779e986bbdb9f5d1ef8c1f25ccd66e2b1691),
[`dc6fae4`](https://github.com/Urigo/accounter-fullstack/commit/dc6fae4ae197f8ec12e426bb773cfb88fa111a46),
[`2bab7e1`](https://github.com/Urigo/accounter-fullstack/commit/2bab7e1529ef7ee313f928f58772aefe200a16ee),
[`138acaa`](https://github.com/Urigo/accounter-fullstack/commit/138acaa9014546f9fffa30386fa956340f92df61),
[`53c880d`](https://github.com/Urigo/accounter-fullstack/commit/53c880d21e0cc49333e725a57659bdcbb5bf1232),
[`b72c486`](https://github.com/Urigo/accounter-fullstack/commit/b72c48695f7f2f1a3e99077da1a362ab5f389f23),
[`bd7a74b`](https://github.com/Urigo/accounter-fullstack/commit/bd7a74b173994b6449d250e4868509a1243e5af6),
[`6c797c6`](https://github.com/Urigo/accounter-fullstack/commit/6c797c6f885ee1d45395a76089f92a95483d5d3a),
[`0c6ac6c`](https://github.com/Urigo/accounter-fullstack/commit/0c6ac6c0fd8d7afe96ce26260a514ccb682e621b),
[`0c6ac6c`](https://github.com/Urigo/accounter-fullstack/commit/0c6ac6c0fd8d7afe96ce26260a514ccb682e621b),
[`88207b1`](https://github.com/Urigo/accounter-fullstack/commit/88207b1f3fbafbd67b67fe8edca6a576d42e25bd),
[`1be8c87`](https://github.com/Urigo/accounter-fullstack/commit/1be8c87be477204ddfc57c38d1ab8cfc66cea1a9),
[`9915dd2`](https://github.com/Urigo/accounter-fullstack/commit/9915dd2c0f7f78103320bc99dabd2de2384bbfbc),
[`408b287`](https://github.com/Urigo/accounter-fullstack/commit/408b287588f1753776cd98755383fc269d7410fb)]:
- @accounter/green-invoice-graphql@0.8.0
- @accounter/pcn874-generator@0.6.1
- @accounter/shaam6111-generator@0.1.2
- @accounter/shaam-uniform-format-generator@0.2.0
## 0.0.5
### Patch Changes
- [#1754](https://github.com/Urigo/accounter-fullstack/pull/1754)
[`2711ade`](https://github.com/Urigo/accounter-fullstack/commit/2711ade6c369a6c0fa858f0f3047776f5979ae68)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`ai@4.3.5` ↗︎](https://www.npmjs.com/package/ai/v/4.3.5) (from `4.3.4`, in
`dependencies`)
- Updated dependency [`dotenv@16.5.0` ↗︎](https://www.npmjs.com/package/dotenv/v/16.5.0) (from
`16.4.7`, in `dependencies`)
- [#1994](https://github.com/Urigo/accounter-fullstack/pull/1994)
[`c73af73`](https://github.com/Urigo/accounter-fullstack/commit/c73af737d68cff22b560b615a5bd48296aa8b653)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.4` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.4) (from
`1.2.2`, in `dependencies`)
- Updated dependency [`ai@4.2.10` ↗︎](https://www.npmjs.com/package/ai/v/4.2.10) (from `4.2.8`, in
`dependencies`)
- [#2007](https://github.com/Urigo/accounter-fullstack/pull/2007)
[`c1c42bf`](https://github.com/Urigo/accounter-fullstack/commit/c1c42bf430e7bc1030c9432b0417b2310b9f2412)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.5` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.5) (from
`1.2.4`, in `dependencies`)
- [#2020](https://github.com/Urigo/accounter-fullstack/pull/2020)
[`b242f4c`](https://github.com/Urigo/accounter-fullstack/commit/b242f4cfccadcc6dae83c7c6055ba8795ce4c770)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.6` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.6) (from
`1.2.5`, in `dependencies`)
- [#2021](https://github.com/Urigo/accounter-fullstack/pull/2021)
[`026df05`](https://github.com/Urigo/accounter-fullstack/commit/026df059d7ccb8ef67602106b01d5020e936b418)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.6` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.6) (from
`1.2.5`, in `dependencies`)
- [#2022](https://github.com/Urigo/accounter-fullstack/pull/2022)
[`9b2e24e`](https://github.com/Urigo/accounter-fullstack/commit/9b2e24ec470a6ab3b377313a2ec6be5771bf6145)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.2` ↗︎](https://www.npmjs.com/package/ai/v/4.3.2) (from `4.2.10`, in
`dependencies`)
- [#2028](https://github.com/Urigo/accounter-fullstack/pull/2028)
[`ed1758c`](https://github.com/Urigo/accounter-fullstack/commit/ed1758ccebf849fde17a4c6e208a6e76913aea2c)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`ai@4.3.2` ↗︎](https://www.npmjs.com/package/ai/v/4.3.2) (from `4.2.10`, in
`dependencies`)
- [#2029](https://github.com/Urigo/accounter-fullstack/pull/2029)
[`bd3a3c6`](https://github.com/Urigo/accounter-fullstack/commit/bd3a3c62d877f662485cd5dfe7b3b1460ede0dda)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.7` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.7) (from
`1.2.6`, in `dependencies`)
- Updated dependency [`ai@4.3.3` ↗︎](https://www.npmjs.com/package/ai/v/4.3.3) (from `4.3.2`, in
`dependencies`)
- [#2032](https://github.com/Urigo/accounter-fullstack/pull/2032)
[`2b60daa`](https://github.com/Urigo/accounter-fullstack/commit/2b60daa5678f94c9710372172601db82340be2ff)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.8` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.8) (from
`1.2.7`, in `dependencies`)
- Updated dependency [`ai@4.3.4` ↗︎](https://www.npmjs.com/package/ai/v/4.3.4) (from `4.3.3`, in
`dependencies`)
- [#2033](https://github.com/Urigo/accounter-fullstack/pull/2033)
[`c8b8ee9`](https://github.com/Urigo/accounter-fullstack/commit/c8b8ee9422916435881db92e50fccf8e8f9c9fa8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.9` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.9) (from
`1.2.8`, in `dependencies`)
- [#2034](https://github.com/Urigo/accounter-fullstack/pull/2034)
[`6b46090`](https://github.com/Urigo/accounter-fullstack/commit/6b460905177148b06a485c6bc0e2a470562b5c4b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.13.3` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.13.3)
(from `3.13.2`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.13.3` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.13.3) (from `5.13.2`,
in `dependencies`)
- [#2044](https://github.com/Urigo/accounter-fullstack/pull/2044)
[`8fd3d43`](https://github.com/Urigo/accounter-fullstack/commit/8fd3d431858e40690970bdaed6d2fef158933f02)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv@16.5.0` ↗︎](https://www.npmjs.com/package/dotenv/v/16.5.0) (from
`16.4.7`, in `dependencies`)
- [#2045](https://github.com/Urigo/accounter-fullstack/pull/2045)
[`21d5e4d`](https://github.com/Urigo/accounter-fullstack/commit/21d5e4d3fffbbcaaa1975bb748ca46d18b37bf1f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.5` ↗︎](https://www.npmjs.com/package/ai/v/4.3.5) (from `4.3.4`, in
`dependencies`)
- [#2050](https://github.com/Urigo/accounter-fullstack/pull/2050)
[`68ca1e1`](https://github.com/Urigo/accounter-fullstack/commit/68ca1e1c29187b2c29f5699113927ba55be61739)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.10` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.10) (from
`1.2.9`, in `dependencies`)
- Updated dependency
[`@whatwg-node/fetch@0.10.6` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.6) (from
`0.10.5`, in `dependencies`)
- Updated dependency [`ai@4.3.6` ↗︎](https://www.npmjs.com/package/ai/v/4.3.6) (from `4.3.5`, in
`dependencies`)
- [#2056](https://github.com/Urigo/accounter-fullstack/pull/2056)
[`67166ad`](https://github.com/Urigo/accounter-fullstack/commit/67166addecc6d768cc1507cd1d1f2d810f8cb78c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.13.4` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.13.4)
(from `3.13.3`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.13.4` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.13.4) (from `5.13.3`,
in `dependencies`)
- [#2058](https://github.com/Urigo/accounter-fullstack/pull/2058)
[`931c554`](https://github.com/Urigo/accounter-fullstack/commit/931c5547459b0e92b58c6fc0b0f8897d077e9f1a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.7` ↗︎](https://www.npmjs.com/package/ai/v/4.3.7) (from `4.3.6`, in
`dependencies`)
- [#2060](https://github.com/Urigo/accounter-fullstack/pull/2060)
[`4efa957`](https://github.com/Urigo/accounter-fullstack/commit/4efa9571e0bdb634ba77156a5c353656b814a595)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.8` ↗︎](https://www.npmjs.com/package/ai/v/4.3.8) (from `4.3.7`, in
`dependencies`)
- [#2067](https://github.com/Urigo/accounter-fullstack/pull/2067)
[`c96f3b0`](https://github.com/Urigo/accounter-fullstack/commit/c96f3b0f71d75ecb02d67b262c5b31070cef08f9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.9` ↗︎](https://www.npmjs.com/package/ai/v/4.3.9) (from `4.3.8`, in
`dependencies`)
- [#2074](https://github.com/Urigo/accounter-fullstack/pull/2074)
[`e73947f`](https://github.com/Urigo/accounter-fullstack/commit/e73947f075b8e175011a98a4cb27834ad6cb3b4d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.15.5` ↗︎](https://www.npmjs.com/package/pg/v/8.15.5) (from `8.14.1`, in
`dependencies`)
- [#2083](https://github.com/Urigo/accounter-fullstack/pull/2083)
[`82c17d6`](https://github.com/Urigo/accounter-fullstack/commit/82c17d615205dd460ba5453b18d23ca2c4800303)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`graphql-scalars@1.24.2` ↗︎](https://www.npmjs.com/package/graphql-scalars/v/1.24.2) (to
`dependencies`)
- Added dependency [`zod@3.24.3` ↗︎](https://www.npmjs.com/package/zod/v/3.24.3) (to
`dependencies`)
- [#2085](https://github.com/Urigo/accounter-fullstack/pull/2085)
[`0f04fe9`](https://github.com/Urigo/accounter-fullstack/commit/0f04fe915f70c54401cb530ee58e439b6cb29b00)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.13` ↗︎](https://www.npmjs.com/package/ai/v/4.3.13) (from `4.3.9`, in
`dependencies`)
- Updated dependency [`pg@8.15.6` ↗︎](https://www.npmjs.com/package/pg/v/8.15.6) (from `8.15.5`, in
`dependencies`)
- Updated dependency [`zod@3.24.4` ↗︎](https://www.npmjs.com/package/zod/v/3.24.4) (from `3.24.3`,
in `dependencies`)
- [#2086](https://github.com/Urigo/accounter-fullstack/pull/2086)
[`5308911`](https://github.com/Urigo/accounter-fullstack/commit/530891185ab33f53299fa7fc8c623104e1b1dc94)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`graphql@16.11.0` ↗︎](https://www.npmjs.com/package/graphql/v/16.11.0) (from
`16.10.0`, in `dependencies`)
- [#2087](https://github.com/Urigo/accounter-fullstack/pull/2087)
[`5ecc50d`](https://github.com/Urigo/accounter-fullstack/commit/5ecc50d3d20efb3f03db59b906c9032097add473)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.6.1` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.6.1)
(from `2.6.0`, in `dependencies`)
- [#2100](https://github.com/Urigo/accounter-fullstack/pull/2100)
[`8af4bdb`](https://github.com/Urigo/accounter-fullstack/commit/8af4bdb8abc2ae36c8c3e2e3a75a201f9071c8d1)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.11` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.11) (from
`1.2.10`, in `dependencies`)
- Updated dependency
[`@whatwg-node/fetch@0.10.7` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.7) (from
`0.10.6`, in `dependencies`)
- Updated dependency [`ai@4.3.15` ↗︎](https://www.npmjs.com/package/ai/v/4.3.15) (from `4.3.13`, in
`dependencies`)
- [#2110](https://github.com/Urigo/accounter-fullstack/pull/2110)
[`d5c808b`](https://github.com/Urigo/accounter-fullstack/commit/d5c808b50af4fc8089e25ec9f3696c22a3d9aa3e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`bcrypt@6.0.0` ↗︎](https://www.npmjs.com/package/bcrypt/v/6.0.0) (from
`5.1.1`, in `dependencies`)
- [#2116](https://github.com/Urigo/accounter-fullstack/pull/2116)
[`465aa1b`](https://github.com/Urigo/accounter-fullstack/commit/465aa1bea5442b00f8d8beaf40a37eee099b0960)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.16.0` ↗︎](https://www.npmjs.com/package/pg/v/8.16.0) (from `8.15.6`, in
`dependencies`)
- [#2124](https://github.com/Urigo/accounter-fullstack/pull/2124)
[`0d30d14`](https://github.com/Urigo/accounter-fullstack/commit/0d30d14501128d73ae7a571f66bc231a3254b8f7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.42.0` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.42.0) (from
`0.41.1`, in `dependencies`)
- [#2126](https://github.com/Urigo/accounter-fullstack/pull/2126)
[`f406046`](https://github.com/Urigo/accounter-fullstack/commit/f4060469ee9b30241ec7f7a4f0da5ad39abd4b7d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.3.16` ↗︎](https://www.npmjs.com/package/ai/v/4.3.16) (from `4.3.15`, in
`dependencies`)
- [#2145](https://github.com/Urigo/accounter-fullstack/pull/2145)
[`bfede15`](https://github.com/Urigo/accounter-fullstack/commit/bfede15da25cfcdca96a4242b5c5b9b1d08e0b28)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.1` ↗︎](https://www.npmjs.com/package/zod/v/3.25.1) (from `3.24.4`,
in `dependencies`)
- [#2147](https://github.com/Urigo/accounter-fullstack/pull/2147)
[`6cd6686`](https://github.com/Urigo/accounter-fullstack/commit/6cd66863456b6231a374b8f61798707bea11b213)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.3` ↗︎](https://www.npmjs.com/package/zod/v/3.25.3) (from `3.25.1`,
in `dependencies`)
- [#2148](https://github.com/Urigo/accounter-fullstack/pull/2148)
[`d20b48b`](https://github.com/Urigo/accounter-fullstack/commit/d20b48bf5dd25432f6db37c1807c4988d6ff5c09)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.6` ↗︎](https://www.npmjs.com/package/zod/v/3.25.6) (from `3.25.3`,
in `dependencies`)
- [#2150](https://github.com/Urigo/accounter-fullstack/pull/2150)
[`33a25c2`](https://github.com/Urigo/accounter-fullstack/commit/33a25c2d4c0e6231eff0a650ae79bdc1f502b125)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.7` ↗︎](https://www.npmjs.com/package/zod/v/3.25.7) (from `3.25.6`,
in `dependencies`)
- [#2152](https://github.com/Urigo/accounter-fullstack/pull/2152)
[`09e9153`](https://github.com/Urigo/accounter-fullstack/commit/09e91531ba51f96bc32292f4594d499fc296abd2)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.8` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.8) (from
`0.10.7`, in `dependencies`)
- [#2153](https://github.com/Urigo/accounter-fullstack/pull/2153)
[`0d2879c`](https://github.com/Urigo/accounter-fullstack/commit/0d2879c2afa447b31d60f01a98290ad2adb31196)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.8` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.8) (from
`0.10.7`, in `dependencies`)
- [#2155](https://github.com/Urigo/accounter-fullstack/pull/2155)
[`6718088`](https://github.com/Urigo/accounter-fullstack/commit/6718088b64c7d187d1934a7fc2a72f7fb08439b2)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.14` ↗︎](https://www.npmjs.com/package/zod/v/3.25.14) (from
`3.25.7`, in `dependencies`)
- [#2159](https://github.com/Urigo/accounter-fullstack/pull/2159)
[`f850fb6`](https://github.com/Urigo/accounter-fullstack/commit/f850fb62ba36ed46344b937e790a8cccb80e9f7d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.12` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.12) (from
`1.2.11`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.42.1` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.42.1) (from
`0.42.0`, in `dependencies`)
- Updated dependency [`zod@3.25.28` ↗︎](https://www.npmjs.com/package/zod/v/3.25.28) (from
`3.25.14`, in `dependencies`)
- [#2160](https://github.com/Urigo/accounter-fullstack/pull/2160)
[`433c1b8`](https://github.com/Urigo/accounter-fullstack/commit/433c1b8c272980f9ba3fa1f39ef731d642ae80c1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`zod@3.25.49` ↗︎](https://www.npmjs.com/package/zod/v/3.25.49) (from
`3.25.30`, in `dependencies`)
- Added dependency
[`@accounter/shaam6111-generator@workspace:^` ↗︎](https://www.npmjs.com/package/@accounter/shaam6111-generator/v/workspace:^)
(to `dependencies`)
- [#2162](https://github.com/Urigo/accounter-fullstack/pull/2162)
[`5a5cb06`](https://github.com/Urigo/accounter-fullstack/commit/5a5cb067aacc338cd36bd5fc8177a640c49211fa)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.13.5` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.13.5)
(from `3.13.4`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.13.5` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.13.5) (from `5.13.4`,
in `dependencies`)
- [#2172](https://github.com/Urigo/accounter-fullstack/pull/2172)
[`c8dab86`](https://github.com/Urigo/accounter-fullstack/commit/c8dab8625d35d7aad836bd3bf5227fbbf1e7cc77)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.30` ↗︎](https://www.npmjs.com/package/zod/v/3.25.30) (from
`3.25.28`, in `dependencies`)
- [#2176](https://github.com/Urigo/accounter-fullstack/pull/2176)
[`4226408`](https://github.com/Urigo/accounter-fullstack/commit/422640856fdc0735e100b04777769f82c6a9f1b9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.49` ↗︎](https://www.npmjs.com/package/zod/v/3.25.49) (from
`3.25.30`, in `dependencies`)
- [#2186](https://github.com/Urigo/accounter-fullstack/pull/2186)
[`4797e93`](https://github.com/Urigo/accounter-fullstack/commit/4797e9366fae9393252dfdcf68b862f0991a8761)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.56` ↗︎](https://www.npmjs.com/package/zod/v/3.25.56) (from
`3.25.49`, in `dependencies`)
- [#2205](https://github.com/Urigo/accounter-fullstack/pull/2205)
[`e0443e7`](https://github.com/Urigo/accounter-fullstack/commit/e0443e71948a3bb3284b6bf2abbfadd7ba96f438)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.57` ↗︎](https://www.npmjs.com/package/zod/v/3.25.57) (from
`3.25.56`, in `dependencies`)
- [#2211](https://github.com/Urigo/accounter-fullstack/pull/2211)
[`901784d`](https://github.com/Urigo/accounter-fullstack/commit/901784d6f3d128d8624207eee45dd69e6e7308c5)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.63` ↗︎](https://www.npmjs.com/package/zod/v/3.25.63) (from
`3.25.57`, in `dependencies`)
- [#2218](https://github.com/Urigo/accounter-fullstack/pull/2218)
[`2325c46`](https://github.com/Urigo/accounter-fullstack/commit/2325c467ab09cd9414f4dcf82a0646847d2dc974)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`zod@3.25.67` ↗︎](https://www.npmjs.com/package/zod/v/3.25.67) (from
`3.25.63`, in `dependencies`)
- [#2221](https://github.com/Urigo/accounter-fullstack/pull/2221)
[`2f00b0e`](https://github.com/Urigo/accounter-fullstack/commit/2f00b0e9ec1e8cb35bdeb412ca5aef996c5b0bf1)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.7.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.7.0)
(from `2.6.1`, in `dependencies`)
- [#2222](https://github.com/Urigo/accounter-fullstack/pull/2222)
[`0edd716`](https://github.com/Urigo/accounter-fullstack/commit/0edd71632c36a652b438fd8839b68491668ed365)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.16.1` ↗︎](https://www.npmjs.com/package/pg/v/8.16.1) (from `8.16.0`, in
`dependencies`)
- [#2226](https://github.com/Urigo/accounter-fullstack/pull/2226)
[`598b22e`](https://github.com/Urigo/accounter-fullstack/commit/598b22ec84ba2f02998ba03a1544d96d879d1a7b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@10.0.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/10.0.0)
(from `9.1.3`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@8.0.0` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/8.0.0)
(from `7.1.3`, in `dependencies`)
- [#2232](https://github.com/Urigo/accounter-fullstack/pull/2232)
[`e69a0f8`](https://github.com/Urigo/accounter-fullstack/commit/e69a0f8fd2003bf6b834d3ca0830974110a23c8e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.16.2` ↗︎](https://www.npmjs.com/package/pg/v/8.16.2) (from `8.16.1`, in
`dependencies`)
- [#2241](https://github.com/Urigo/accounter-fullstack/pull/2241)
[`a4dac49`](https://github.com/Urigo/accounter-fullstack/commit/a4dac49aad13c3558b4cc01d9e7390a5bc76bd02)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv@16.6.1` ↗︎](https://www.npmjs.com/package/dotenv/v/16.6.1) (from
`16.5.0`, in `dependencies`)
- [#2246](https://github.com/Urigo/accounter-fullstack/pull/2246)
[`12a8f20`](https://github.com/Urigo/accounter-fullstack/commit/12a8f205c1081a4f540bf14072ded447fbf619b0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.16.3` ↗︎](https://www.npmjs.com/package/pg/v/8.16.3) (from `8.16.2`, in
`dependencies`)
- [#2250](https://github.com/Urigo/accounter-fullstack/pull/2250)
[`0d33be9`](https://github.com/Urigo/accounter-fullstack/commit/0d33be90e08269204a63fc190887b678c94f9f96)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Support JPY currency
- [#2160](https://github.com/Urigo/accounter-fullstack/pull/2160)
[`433c1b8`](https://github.com/Urigo/accounter-fullstack/commit/433c1b8c272980f9ba3fa1f39ef731d642ae80c1)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Features**
- Introduced a comprehensive Shaam6111 financial report with multi-tab views for header, profit
and loss, tax adjustment, and balance sheet data.
- Added a new route and sidebar link for accessing the Shaam6111 report.
- Implemented filter options for selecting business, year, and reference year within the report
interface.
- **Improvements**
- Enhanced forms and queries to support IRS codes for business and tax category data.
- Updated UI components for more precise type handling.
- Improved report data fetching with parallel loading of ledger records and financial entities.
- Added detailed GraphQL schema definitions and resolvers for Shaam6111 reports.
- Integrated new helper functions for generating Shaam6111 report data.
- Refactored cumulative calculation logic for research and development expenses in tax reports.
- Centralized and streamlined validation formulas for profit and loss and balance sheet
summaries.
- **Bug Fixes**
- Adjusted tax adjustment summary validation logic and updated corresponding tests.
- **Documentation**
- Added detailed GraphQL schema definitions for Shaam6111 reports.
- **Tests**
- Updated and expanded test cases for tax adjustment and header validation.
- **Chores**
- Refined internal configuration and export orders for improved maintainability.
- Added new dependency for Shaam6111 report generation.
- [#2139](https://github.com/Urigo/accounter-fullstack/pull/2139)
[`305c659`](https://github.com/Urigo/accounter-fullstack/commit/305c659b83bb4466964489979b52c51addc5f7c7)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Introduce optional document attribute -
`exchangeRateOverride`, for cases of foreign amount documents which also notes the local amount
value and exchange rate
- [#2158](https://github.com/Urigo/accounter-fullstack/pull/2158)
[`8d128a2`](https://github.com/Urigo/accounter-fullstack/commit/8d128a2159e2ea912cf02229ea72d075b3bca2ae)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Extend sort codes schema: add fetch by key,
insert and update capabilities. Create sort codes screen.
- [#2197](https://github.com/Urigo/accounter-fullstack/pull/2197)
[`32fca0c`](https://github.com/Urigo/accounter-fullstack/commit/32fca0c2bab986358390f14389c8441c7d6fe2be)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Features**
- Added support for an optional "taxExcluded" field when creating tax categories, allowing users
to specify whether a tax category is tax-excluded.
- **Bug Fixes**
- Corrected parameter naming to ensure proper handling of the "taxExcluded" value during tax
category creation.
- [#2146](https://github.com/Urigo/accounter-fullstack/pull/2146)
[`f5d5cd4`](https://github.com/Urigo/accounter-fullstack/commit/f5d5cd44548a4c7f2d750005e99b98547dd3d1b6)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - New business attribute: PCN874 record type
override (to force the generator to create a specific type of PCN874 entry)
- [#2169](https://github.com/Urigo/accounter-fullstack/pull/2169)
[`83d19e2`](https://github.com/Urigo/accounter-fullstack/commit/83d19e21a7bd9146de2886627515affceb4abe69)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Features**
- Added support for associating multiple IRS codes with sort codes, tax categories, and financial
entities.
- Introduced a new IRS codes input component allowing users to add, edit, and validate multiple
IRS codes in forms.
- Forms now dynamically update IRS codes based on sort code selection.
- **Improvements**
- Enhanced UI feedback by visually marking modified (dirty) fields in forms, except during
insert mode.
- Updated tables and detail views to display multiple IRS codes where applicable.
- **Bug Fixes**
- Ensured IRS code validation enforces uniqueness and valid ranges for all entries.
- **Database Migration**
- Migrated database columns to support arrays of IRS codes, preserving existing data.
- **API Changes**
- Updated GraphQL schema and API endpoints to handle arrays of IRS codes instead of single
values.
- [#2143](https://github.com/Urigo/accounter-fullstack/pull/2143)
[`cd22658`](https://github.com/Urigo/accounter-fullstack/commit/cd226583c0765388fe713b90261267119fc3e3b4)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Fix ledger generation for edge case:
cross-year, VAT-included, foreign-currency. Corrected VAT payment entries to ensure credit amounts
are accurately reflected.
- [#2203](https://github.com/Urigo/accounter-fullstack/pull/2203)
[`ad8b87c`](https://github.com/Urigo/accounter-fullstack/commit/ad8b87c7033dd29042db6bc600cda6cb0566811d)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New Features**
- Simplified IRS code handling throughout the app: IRS codes are now managed as a single value
instead of an array in all relevant forms, tables, and modals.
- **Bug Fixes**
- Updated number input fields to only accept whole numbers (no decimals) where applicable.
- **Refactor**
- Unified IRS code fields and logic across the user interface for consistency.
- Updated all related queries, mutations, and schema fields to use singular IRS code values.
- **Database Migration**
- Migrated existing IRS code data from arrays to single-value columns for improved data
consistency.
- Updated dependencies
[[`7d70618`](https://github.com/Urigo/accounter-fullstack/commit/7d706185e337c05efd2c8cbeb3b4b919522c5336),
[`ed1758c`](https://github.com/Urigo/accounter-fullstack/commit/ed1758ccebf849fde17a4c6e208a6e76913aea2c),
[`4efa957`](https://github.com/Urigo/accounter-fullstack/commit/4efa9571e0bdb634ba77156a5c353656b814a595),
[`5308911`](https://github.com/Urigo/accounter-fullstack/commit/530891185ab33f53299fa7fc8c623104e1b1dc94),
[`4797e93`](https://github.com/Urigo/accounter-fullstack/commit/4797e9366fae9393252dfdcf68b862f0991a8761),
[`2325c46`](https://github.com/Urigo/accounter-fullstack/commit/2325c467ab09cd9414f4dcf82a0646847d2dc974),
[`e69a0f8`](https://github.com/Urigo/accounter-fullstack/commit/e69a0f8fd2003bf6b834d3ca0830974110a23c8e),
[`f0dc5d0`](https://github.com/Urigo/accounter-fullstack/commit/f0dc5d0083c522c3504a89ba494888d97494910a),
[`0f04fe9`](https://github.com/Urigo/accounter-fullstack/commit/0f04fe915f70c54401cb530ee58e439b6cb29b00),
[`bfede15`](https://github.com/Urigo/accounter-fullstack/commit/bfede15da25cfcdca96a4242b5c5b9b1d08e0b28),
[`6cd6686`](https://github.com/Urigo/accounter-fullstack/commit/6cd66863456b6231a374b8f61798707bea11b213),
[`d20b48b`](https://github.com/Urigo/accounter-fullstack/commit/d20b48bf5dd25432f6db37c1807c4988d6ff5c09),
[`33a25c2`](https://github.com/Urigo/accounter-fullstack/commit/33a25c2d4c0e6231eff0a650ae79bdc1f502b125),
[`6718088`](https://github.com/Urigo/accounter-fullstack/commit/6718088b64c7d187d1934a7fc2a72f7fb08439b2),
[`f850fb6`](https://github.com/Urigo/accounter-fullstack/commit/f850fb62ba36ed46344b937e790a8cccb80e9f7d),
[`433c1b8`](https://github.com/Urigo/accounter-fullstack/commit/433c1b8c272980f9ba3fa1f39ef731d642ae80c1),
[`c8dab86`](https://github.com/Urigo/accounter-fullstack/commit/c8dab8625d35d7aad836bd3bf5227fbbf1e7cc77),
[`4226408`](https://github.com/Urigo/accounter-fullstack/commit/422640856fdc0735e100b04777769f82c6a9f1b9),
[`4797e93`](https://github.com/Urigo/accounter-fullstack/commit/4797e9366fae9393252dfdcf68b862f0991a8761),
[`e0443e7`](https://github.com/Urigo/accounter-fullstack/commit/e0443e71948a3bb3284b6bf2abbfadd7ba96f438),
[`901784d`](https://github.com/Urigo/accounter-fullstack/commit/901784d6f3d128d8624207eee45dd69e6e7308c5),
[`2325c46`](https://github.com/Urigo/accounter-fullstack/commit/2325c467ab09cd9414f4dcf82a0646847d2dc974),
[`bfede15`](https://github.com/Urigo/accounter-fullstack/commit/bfede15da25cfcdca96a4242b5c5b9b1d08e0b28),
[`6cd6686`](https://github.com/Urigo/accounter-fullstack/commit/6cd66863456b6231a374b8f61798707bea11b213),
[`d20b48b`](https://github.com/Urigo/accounter-fullstack/commit/d20b48bf5dd25432f6db37c1807c4988d6ff5c09),
[`33a25c2`](https://github.com/Urigo/accounter-fullstack/commit/33a25c2d4c0e6231eff0a650ae79bdc1f502b125),
[`6718088`](https://github.com/Urigo/accounter-fullstack/commit/6718088b64c7d187d1934a7fc2a72f7fb08439b2),
[`f850fb6`](https://github.com/Urigo/accounter-fullstack/commit/f850fb62ba36ed46344b937e790a8cccb80e9f7d),
[`433c1b8`](https://github.com/Urigo/accounter-fullstack/commit/433c1b8c272980f9ba3fa1f39ef731d642ae80c1),
[`c8dab86`](https://github.com/Urigo/accounter-fullstack/commit/c8dab8625d35d7aad836bd3bf5227fbbf1e7cc77),
[`4226408`](https://github.com/Urigo/accounter-fullstack/commit/422640856fdc0735e100b04777769f82c6a9f1b9),
[`4797e93`](https://github.com/Urigo/accounter-fullstack/commit/4797e9366fae9393252dfdcf68b862f0991a8761),
[`e0443e7`](https://github.com/Urigo/accounter-fullstack/commit/e0443e71948a3bb3284b6bf2abbfadd7ba96f438),
[`901784d`](https://github.com/Urigo/accounter-fullstack/commit/901784d6f3d128d8624207eee45dd69e6e7308c5),
[`2325c46`](https://github.com/Urigo/accounter-fullstack/commit/2325c467ab09cd9414f4dcf82a0646847d2dc974),
[`433c1b8`](https://github.com/Urigo/accounter-fullstack/commit/433c1b8c272980f9ba3fa1f39ef731d642ae80c1),
[`f0dc5d0`](https://github.com/Urigo/accounter-fullstack/commit/f0dc5d0083c522c3504a89ba494888d97494910a),
[`f5d5cd4`](https://github.com/Urigo/accounter-fullstack/commit/f5d5cd44548a4c7f2d750005e99b98547dd3d1b6)]:
- @accounter/green-invoice-graphql@0.7.4
- @accounter/pcn874-generator@0.6.0
- @accounter/shaam6111-generator@0.1.1
## 0.0.4
### Patch Changes
- [#1535](https://github.com/Urigo/accounter-fullstack/pull/1535)
[`6cb4e98`](https://github.com/Urigo/accounter-fullstack/commit/6cb4e98a6b1acac126a4f496ad4a08da2cc6c966)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv-cli@8.0.0` ↗︎](https://www.npmjs.com/package/dotenv-cli/v/8.0.0)
(from `7.4.4`, in `dependencies`)
- [#1543](https://github.com/Urigo/accounter-fullstack/pull/1543)
[`777920c`](https://github.com/Urigo/accounter-fullstack/commit/777920c6e076538e99fec4a20853529a968be26e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.8` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.8)
(from `3.10.6`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.8` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.8) (from `5.10.6`,
in `dependencies`)
- [#1564](https://github.com/Urigo/accounter-fullstack/pull/1564)
[`b080d4c`](https://github.com/Urigo/accounter-fullstack/commit/b080d4c0e3553f8a7240a131db44d7f2bf8b3491)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.9` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.9)
(from `3.10.8`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.9` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.9) (from `5.10.8`,
in `dependencies`)
- [#1587](https://github.com/Urigo/accounter-fullstack/pull/1587)
[`6d56b87`](https://github.com/Urigo/accounter-fullstack/commit/6d56b87180d569a263fc382b1614a0f27145a3ba)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.3` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.3) (from
`0.10.1`, in `dependencies`)
- [#1603](https://github.com/Urigo/accounter-fullstack/pull/1603)
[`f2d556e`](https://github.com/Urigo/accounter-fullstack/commit/f2d556e1174c8e704e60a2ac36d1c117b675cc27)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.10` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.10)
(from `3.10.9`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.10` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.10) (from `5.10.9`,
in `dependencies`)
- [#1632](https://github.com/Urigo/accounter-fullstack/pull/1632)
[`84afa0a`](https://github.com/Urigo/accounter-fullstack/commit/84afa0a41f08a819714f6ba04bca8e18fd9c5f07)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.11` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.11)
(from `3.10.10`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.11` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.11) (from
`5.10.10`, in `dependencies`)
- [#1674](https://github.com/Urigo/accounter-fullstack/pull/1674)
[`b5fca56`](https://github.com/Urigo/accounter-fullstack/commit/b5fca56e69aff166b67a7d9ccaadac58207c613d)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.39.0` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.39.0) (from
`^0.39.0`, in `dependencies`)
- Added dependency
[`@anthropic-ai/sdk@0.36.3` ↗︎](https://www.npmjs.com/package/@anthropic-ai/sdk/v/0.36.3) (to
`dependencies`)
- [#1683](https://github.com/Urigo/accounter-fullstack/pull/1683)
[`0ff1300`](https://github.com/Urigo/accounter-fullstack/commit/0ff13003f72c88bca26d2cba6eca52c64269c8da)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.39.4` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.39.4) (from
`0.39.0`, in `dependencies`)
- [#1688](https://github.com/Urigo/accounter-fullstack/pull/1688)
[`340ddb6`](https://github.com/Urigo/accounter-fullstack/commit/340ddb63a9728d41cabeddffc428e48d90db89c4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.11.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.11.0)
(from `3.10.11`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.11.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.11.0) (from `5.10.11`,
in `dependencies`)
- [#1700](https://github.com/Urigo/accounter-fullstack/pull/1700)
[`5185005`](https://github.com/Urigo/accounter-fullstack/commit/5185005c5c7ddc711ebc93b1c6215ee3a59fe345)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`@pgtyped/cli@2.4.2` ↗︎](https://www.npmjs.com/package/@pgtyped/cli/v/2.4.2)
(from `2.3.0`, in `dependencies`)
- [#1706](https://github.com/Urigo/accounter-fullstack/pull/1706)
[`eaf31e9`](https://github.com/Urigo/accounter-fullstack/commit/eaf31e9cfe56ac1f2a954dc986148fcb38d1e63b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.13.3` ↗︎](https://www.npmjs.com/package/pg/v/8.13.3) (from `8.13.1`, in
`dependencies`)
- [#1707](https://github.com/Urigo/accounter-fullstack/pull/1707)
[`e2e424f`](https://github.com/Urigo/accounter-fullstack/commit/e2e424fe7b82b0319bdf65312ead7d1bd85cd256)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.40.1` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.40.1) (from
`0.39.4`, in `dependencies`)
- [#1751](https://github.com/Urigo/accounter-fullstack/pull/1751)
[`b3f9a2e`](https://github.com/Urigo/accounter-fullstack/commit/b3f9a2ecaa4f5ec81fad5566902ff57963c98676)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.12.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.12.0)
(from `3.11.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.12.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.12.0) (from `5.11.0`,
in `dependencies`)
- [#1757](https://github.com/Urigo/accounter-fullstack/pull/1757)
[`ddae74a`](https://github.com/Urigo/accounter-fullstack/commit/ddae74ac7f9911fb6b6ad2bdadb934973fcec7a9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.9` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.9) (from
`1.1.8`, in `dependencies`)
- Updated dependency [`ai@4.1.42` ↗︎](https://www.npmjs.com/package/ai/v/4.1.42) (from `4.1.41`, in
`dependencies`)
- [#1762](https://github.com/Urigo/accounter-fullstack/pull/1762)
[`f71389a`](https://github.com/Urigo/accounter-fullstack/commit/f71389a90c6912af2ae9feea4a0c2ae1139f5725)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`graphql-modules@3.0.0` ↗︎](https://www.npmjs.com/package/graphql-modules/v/3.0.0) (from
`2.4.0`, in `dependencies`)
- [#1767](https://github.com/Urigo/accounter-fullstack/pull/1767)
[`44e9a17`](https://github.com/Urigo/accounter-fullstack/commit/44e9a1761305e199b686b3d04ba8b038985a9fc6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.1.44` ↗︎](https://www.npmjs.com/package/ai/v/4.1.44) (from `4.1.42`, in
`dependencies`)
- [#1769](https://github.com/Urigo/accounter-fullstack/pull/1769)
[`bbffb29`](https://github.com/Urigo/accounter-fullstack/commit/bbffb290d8419f717644fe69121d7dadeb26e71a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@9.0.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/9.0.0)
(from `8.0.1`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@7.0.1` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/7.0.1)
(from `6.0.0`, in `dependencies`)
- [#1774](https://github.com/Urigo/accounter-fullstack/pull/1774)
[`c4b8fc0`](https://github.com/Urigo/accounter-fullstack/commit/c4b8fc022f3f81de3ced338d6d26271f414091e6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.1.45` ↗︎](https://www.npmjs.com/package/ai/v/4.1.45) (from `4.1.44`, in
`dependencies`)
- [#1778](https://github.com/Urigo/accounter-fullstack/pull/1778)
[`8c48509`](https://github.com/Urigo/accounter-fullstack/commit/8c48509db682ef4f928966abd98c2e01f0ce14c9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.4` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.4) (from
`0.10.3`, in `dependencies`)
- [#1786](https://github.com/Urigo/accounter-fullstack/pull/1786)
[`59c0b6c`](https://github.com/Urigo/accounter-fullstack/commit/59c0b6cc3dd29921af7de0f601c791bbdb630148)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.5` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.5) (from
`0.10.4`, in `dependencies`)
- [#1790](https://github.com/Urigo/accounter-fullstack/pull/1790)
[`56a0d24`](https://github.com/Urigo/accounter-fullstack/commit/56a0d243c46ec3bf22f31c5b2ef8276e4a79ced5)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@9.0.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/9.0.0)
(from `8.0.1`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@7.0.1` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/7.0.1)
(from `6.0.0`, in `dependencies`)
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.12.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.12.1)
(from `3.12.0`, in `dependencies`)
- Updated dependency
[`@whatwg-node/fetch@0.10.5` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.5) (from
`0.10.4`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.12.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.12.1) (from `5.12.0`,
in `dependencies`)
- [#1792](https://github.com/Urigo/accounter-fullstack/pull/1792)
[`3119fcb`](https://github.com/Urigo/accounter-fullstack/commit/3119fcbbf5a10dc80574224af1cfe037e2149c1b)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@9.0.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/9.0.0)
(from `8.0.1`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@7.0.1` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/7.0.1)
(from `6.0.0`, in `dependencies`)
- [#1793](https://github.com/Urigo/accounter-fullstack/pull/1793)
[`257b2c9`](https://github.com/Urigo/accounter-fullstack/commit/257b2c9c76d9972056a450f6ab3246cc40948dd0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.12.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.12.1)
(from `3.12.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.12.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.12.1) (from `5.12.0`,
in `dependencies`)
- [#1800](https://github.com/Urigo/accounter-fullstack/pull/1800)
[`d3c17bc`](https://github.com/Urigo/accounter-fullstack/commit/d3c17bcfd5a8059f94c40ff52d55a304bfa6d2fa)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.10` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.10) (from
`1.1.9`, in `dependencies`)
- Updated dependency [`ai@4.1.46` ↗︎](https://www.npmjs.com/package/ai/v/4.1.46) (from `4.1.45`, in
`dependencies`)
- [#1804](https://github.com/Urigo/accounter-fullstack/pull/1804)
[`eb46d7b`](https://github.com/Urigo/accounter-fullstack/commit/eb46d7b2bdf199b964bbad7bb5863da892298a02)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@accounter/green-invoice-graphql@workspace:^` ↗︎](https://www.npmjs.com/package/@accounter/green-invoice-graphql/v/workspace:^)
(from `^0.7.2`, in `dependencies`)
- Updated dependency
[`@accounter/pcn874-generator@workspace:^` ↗︎](https://www.npmjs.com/package/@accounter/pcn874-generator/v/workspace:^)
(from `^0.4.1`, in `dependencies`)
- [#1809](https://github.com/Urigo/accounter-fullstack/pull/1809)
[`4365b57`](https://github.com/Urigo/accounter-fullstack/commit/4365b577e858f4c0525165c244a900b2aef5f5ca)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@9.0.1` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/9.0.1)
(from `9.0.0`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@7.0.2` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/7.0.2)
(from `7.0.1`, in `dependencies`)
- [#1815](https://github.com/Urigo/accounter-fullstack/pull/1815)
[`a8deeab`](https://github.com/Urigo/accounter-fullstack/commit/a8deeabbec6d1078a04c078a9a2f7effbc19fd9f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.11` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.11) (from
`1.1.10`, in `dependencies`)
- [#1820](https://github.com/Urigo/accounter-fullstack/pull/1820)
[`d659fc0`](https://github.com/Urigo/accounter-fullstack/commit/d659fc07a610a078de6ac9df81efd17d1073a934)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`@pgtyped/cli@2.4.3` ↗︎](https://www.npmjs.com/package/@pgtyped/cli/v/2.4.3)
(from `2.3.0`, in `dependencies`)
- Updated dependency
[`@pgtyped/runtime@2.4.2` ↗︎](https://www.npmjs.com/package/@pgtyped/runtime/v/2.4.2) (from
`2.3.0`, in `dependencies`)
- [#1821](https://github.com/Urigo/accounter-fullstack/pull/1821)
[`1f16f95`](https://github.com/Urigo/accounter-fullstack/commit/1f16f957188200967a4dc9328fc809ca6484c186)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.13` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.13) (from
`1.1.11`, in `dependencies`)
- Updated dependency [`ai@4.1.47` ↗︎](https://www.npmjs.com/package/ai/v/4.1.47) (from `4.1.46`, in
`dependencies`)
- [#1832](https://github.com/Urigo/accounter-fullstack/pull/1832)
[`9d3201e`](https://github.com/Urigo/accounter-fullstack/commit/9d3201ea99b48f8a6ecac0533bcedbeb2c07fac4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.13` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.13) (from
`1.1.11`, in `dependencies`)
- Updated dependency [`ai@4.1.47` ↗︎](https://www.npmjs.com/package/ai/v/4.1.47) (from `4.1.46`, in
`dependencies`)
- [#1836](https://github.com/Urigo/accounter-fullstack/pull/1836)
[`ccb912d`](https://github.com/Urigo/accounter-fullstack/commit/ccb912df13a3bb09764df993b20638fa79fbed7a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.12.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.12.2)
(from `3.12.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.12.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.12.2) (from `5.12.1`,
in `dependencies`)
- [#1838](https://github.com/Urigo/accounter-fullstack/pull/1838)
[`1ae254a`](https://github.com/Urigo/accounter-fullstack/commit/1ae254abb99a09c523108b1b064f31d8acc1bf14)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.1.50` ↗︎](https://www.npmjs.com/package/ai/v/4.1.50) (from `4.1.47`, in
`dependencies`)
- [#1854](https://github.com/Urigo/accounter-fullstack/pull/1854)
[`99d60c1`](https://github.com/Urigo/accounter-fullstack/commit/99d60c1eff405242cdde69d52ac3e6c52b4799f7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@9.1.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/9.1.0)
(from `9.0.1`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@7.1.0` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/7.1.0)
(from `7.0.2`, in `dependencies`)
- [#1855](https://github.com/Urigo/accounter-fullstack/pull/1855)
[`e2446b4`](https://github.com/Urigo/accounter-fullstack/commit/e2446b4a45d038ffeff7accfff6571e790bbce01)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.14` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.14) (from
`1.1.13`, in `dependencies`)
- Updated dependency [`ai@4.1.51` ↗︎](https://www.npmjs.com/package/ai/v/4.1.51) (from `4.1.50`, in
`dependencies`)
- [#1856](https://github.com/Urigo/accounter-fullstack/pull/1856)
[`92b833b`](https://github.com/Urigo/accounter-fullstack/commit/92b833b16436c49f2d11db42383669fac085bb1d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@9.1.1` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/9.1.1)
(from `9.1.0`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@7.1.1` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/7.1.1)
(from `7.1.0`, in `dependencies`)
- [#1857](https://github.com/Urigo/accounter-fullstack/pull/1857)
[`f12418b`](https://github.com/Urigo/accounter-fullstack/commit/f12418b102e24b9f45f5431ad4d12e09d00a2d8d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.1.52` ↗︎](https://www.npmjs.com/package/ai/v/4.1.52) (from `4.1.51`, in
`dependencies`)
- [#1859](https://github.com/Urigo/accounter-fullstack/pull/1859)
[`5a66a5b`](https://github.com/Urigo/accounter-fullstack/commit/5a66a5b9b93dac30b1dc46321dfd44794a651468)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@9.1.3` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/9.1.3)
(from `9.1.1`, in `dependencies`)
- Updated dependency
[`@envelop/graphql-modules@7.1.3` ↗︎](https://www.npmjs.com/package/@envelop/graphql-modules/v/7.1.3)
(from `7.1.1`, in `dependencies`)
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.13.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.13.1)
(from `3.13.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.13.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.13.1) (from `5.13.0`,
in `dependencies`)
- [#1859](https://github.com/Urigo/accounter-fullstack/pull/1859)
[`5a66a5b`](https://github.com/Urigo/accounter-fullstack/commit/5a66a5b9b93dac30b1dc46321dfd44794a651468)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.13.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.13.0)
(from `3.12.2`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.13.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.13.0) (from `5.12.2`,
in `dependencies`)
- [#1862](https://github.com/Urigo/accounter-fullstack/pull/1862)
[`577cd81`](https://github.com/Urigo/accounter-fullstack/commit/577cd815e2b728823292502d90d144ffb965bb7d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.15` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.15) (from
`1.1.14`, in `dependencies`)
- Updated dependency [`ai@4.1.54` ↗︎](https://www.npmjs.com/package/ai/v/4.1.54) (from `4.1.52`, in
`dependencies`)
- [#1880](https://github.com/Urigo/accounter-fullstack/pull/1880)
[`66fa68f`](https://github.com/Urigo/accounter-fullstack/commit/66fa68f19e2c8a9376748020d828080854b93fb7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@0.41.0` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.41.0) (from
`0.40.1`, in `dependencies`)
- [#1895](https://github.com/Urigo/accounter-fullstack/pull/1895)
[`9ecdc1c`](https://github.com/Urigo/accounter-fullstack/commit/9ecdc1c25b7e97198287f97cc5c367e1b2cbd00b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.6.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.6.0)
(from `2.5.1`, in `dependencies`)
- [#1902](https://github.com/Urigo/accounter-fullstack/pull/1902)
[`d955810`](https://github.com/Urigo/accounter-fullstack/commit/d95581080d5cbc79b1511e9ea3561fe802ffa187)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.14.0` ↗︎](https://www.npmjs.com/package/pg/v/8.14.0) (from `8.13.3`, in
`dependencies`)
- [#1905](https://github.com/Urigo/accounter-fullstack/pull/1905)
[`8ad26e4`](https://github.com/Urigo/accounter-fullstack/commit/8ad26e444a7da929077a4da0b07b96e664e81bba)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.16` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.16) (from
`1.1.15`, in `dependencies`)
- Updated dependency [`ai@4.1.58` ↗︎](https://www.npmjs.com/package/ai/v/4.1.58) (from `4.1.54`, in
`dependencies`)
- [#1908](https://github.com/Urigo/accounter-fullstack/pull/1908)
[`6728a51`](https://github.com/Urigo/accounter-fullstack/commit/6728a51d3d64053c4d4ec2fe12297e1f5fcd6c06)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.1.60` ↗︎](https://www.npmjs.com/package/ai/v/4.1.60) (from `4.1.58`, in
`dependencies`)
- [#1910](https://github.com/Urigo/accounter-fullstack/pull/1910)
[`3eae58f`](https://github.com/Urigo/accounter-fullstack/commit/3eae58ffffff0cc8a9324e1bc2bfd8a6601c74c0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.17` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.17) (from
`1.1.16`, in `dependencies`)
- Updated dependency [`ai@4.1.61` ↗︎](https://www.npmjs.com/package/ai/v/4.1.61) (from `4.1.60`, in
`dependencies`)
- [#1911](https://github.com/Urigo/accounter-fullstack/pull/1911)
[`7de124b`](https://github.com/Urigo/accounter-fullstack/commit/7de124b4003e3b2e8de60d2991f681a3f3e53462)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.17` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.17) (from
`1.1.16`, in `dependencies`)
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.13.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.13.2)
(from `3.13.1`, in `dependencies`)
- Updated dependency [`ai@4.1.61` ↗︎](https://www.npmjs.com/package/ai/v/4.1.61) (from `4.1.60`, in
`dependencies`)
- Updated dependency
[`graphql-yoga@5.13.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.13.2) (from `5.13.1`,
in `dependencies`)
- [#1927](https://github.com/Urigo/accounter-fullstack/pull/1927)
[`ab15906`](https://github.com/Urigo/accounter-fullstack/commit/ab1590690b73a96725164703f8d1efdfb0dba3b7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.13.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.13.2)
(from `3.13.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.13.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.13.2) (from `5.13.1`,
in `dependencies`)
- [#1932](https://github.com/Urigo/accounter-fullstack/pull/1932)
[`1ddff51`](https://github.com/Urigo/accounter-fullstack/commit/1ddff517562c26a0ed03064ac42411bc0c7edd08)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.18` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.18) (from
`1.1.17`, in `dependencies`)
- Updated dependency [`ai@4.1.63` ↗︎](https://www.npmjs.com/package/ai/v/4.1.63) (from `4.1.61`, in
`dependencies`)
- Updated dependency [`pg@8.14.1` ↗︎](https://www.npmjs.com/package/pg/v/8.14.1) (from `8.14.0`, in
`dependencies`)
- [#1936](https://github.com/Urigo/accounter-fullstack/pull/1936)
[`9c2fa34`](https://github.com/Urigo/accounter-fullstack/commit/9c2fa34e3497a643f82685b4880111a44fc83bb3)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.19` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.19) (from
`1.1.18`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.41.1` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.41.1) (from
`0.41.0`, in `dependencies`)
- Updated dependency [`ai@4.1.66` ↗︎](https://www.npmjs.com/package/ai/v/4.1.66) (from `4.1.63`, in
`dependencies`)
- [#1942](https://github.com/Urigo/accounter-fullstack/pull/1942)
[`27430e4`](https://github.com/Urigo/accounter-fullstack/commit/27430e4216d4480e1422d7011b47f4cb144570e5)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.1.19` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.1.19) (from
`1.1.18`, in `dependencies`)
- Updated dependency
[`@graphql-hive/yoga@0.41.1` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.41.1) (from
`0.41.0`, in `dependencies`)
- Updated dependency [`ai@4.1.66` ↗︎](https://www.npmjs.com/package/ai/v/4.1.66) (from `4.1.63`, in
`dependencies`)
- [#1946](https://github.com/Urigo/accounter-fullstack/pull/1946)
[`771c7b7`](https://github.com/Urigo/accounter-fullstack/commit/771c7b7ef344097675af0cdd0ee6d8d4b392dc60)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.0` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.0) (from
`1.1.19`, in `dependencies`)
- [#1947](https://github.com/Urigo/accounter-fullstack/pull/1947)
[`ea0560d`](https://github.com/Urigo/accounter-fullstack/commit/ea0560d606723b27fe1b53166a75bab039c1c0db)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.2.5` ↗︎](https://www.npmjs.com/package/ai/v/4.2.5) (from `4.1.66`, in
`dependencies`)
- [#1966](https://github.com/Urigo/accounter-fullstack/pull/1966)
[`7c6679c`](https://github.com/Urigo/accounter-fullstack/commit/7c6679cd5843722a90abce00b1590dfa701a2689)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@ai-sdk/anthropic@1.2.2` ↗︎](https://www.npmjs.com/package/@ai-sdk/anthropic/v/1.2.2) (from
`1.2.0`, in `dependencies`)
- Updated dependency [`ai@4.2.6` ↗︎](https://www.npmjs.com/package/ai/v/4.2.6) (from `4.2.5`, in
`dependencies`)
- [#1975](https://github.com/Urigo/accounter-fullstack/pull/1975)
[`ae203c4`](https://github.com/Urigo/accounter-fullstack/commit/ae203c4fa23d172ec9a9ca95904838a39718964f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`ai@4.2.8` ↗︎](https://www.npmjs.com/package/ai/v/4.2.8) (from `4.2.6`, in
`dependencies`)
- Updated dependencies
[[`e5acaa1`](https://github.com/Urigo/accounter-fullstack/commit/e5acaa1fd5e4bc3027d308425a235ba55d93902f),
[`6afccff`](https://github.com/Urigo/accounter-fullstack/commit/6afccfff0e669c7e57ba4b7faea13d5cb6995fec),
[`3edcf26`](https://github.com/Urigo/accounter-fullstack/commit/3edcf268807300fe70dfe5a57f6241677768c496),
[`745dfe6`](https://github.com/Urigo/accounter-fullstack/commit/745dfe6a644ed43c6a2bb02814bb08182edbd465),
[`16d7c0a`](https://github.com/Urigo/accounter-fullstack/commit/16d7c0ab3965699cda4e9fa1b32838932d127622),
[`6d56b87`](https://github.com/Urigo/accounter-fullstack/commit/6d56b87180d569a263fc382b1614a0f27145a3ba),
[`c845a24`](https://github.com/Urigo/accounter-fullstack/commit/c845a24450cecedf40b9e32568a5008cd0d63da9),
[`6c9a985`](https://github.com/Urigo/accounter-fullstack/commit/6c9a98525f1423b46f90b66baea71a0c8705df72),
[`424065e`](https://github.com/Urigo/accounter-fullstack/commit/424065ea0311f8293b3b5f00d69b0fc561e47442),
[`53d22fc`](https://github.com/Urigo/accounter-fullstack/commit/53d22fcaf5481a19c026a361931bd4df67d98f8f),
[`eaf31e9`](https://github.com/Urigo/accounter-fullstack/commit/eaf31e9cfe56ac1f2a954dc986148fcb38d1e63b),
[`ddae74a`](https://github.com/Urigo/accounter-fullstack/commit/ddae74ac7f9911fb6b6ad2bdadb934973fcec7a9),
[`8c48509`](https://github.com/Urigo/accounter-fullstack/commit/8c48509db682ef4f928966abd98c2e01f0ce14c9),
[`59c0b6c`](https://github.com/Urigo/accounter-fullstack/commit/59c0b6cc3dd29921af7de0f601c791bbdb630148),
[`564e868`](https://github.com/Urigo/accounter-fullstack/commit/564e868011f732d63cc725dc55014940eda99a24),
[`56a0d24`](https://github.com/Urigo/accounter-fullstack/commit/56a0d243c46ec3bf22f31c5b2ef8276e4a79ced5),
[`3119fcb`](https://github.com/Urigo/accounter-fullstack/commit/3119fcbbf5a10dc80574224af1cfe037e2149c1b),
[`79ef4e2`](https://github.com/Urigo/accounter-fullstack/commit/79ef4e2e2401562732be3eabf73571889bd7cd0f),
[`5a66a5b`](https://github.com/Urigo/accounter-fullstack/commit/5a66a5b9b93dac30b1dc46321dfd44794a651468),
[`fb3fc0a`](https://github.com/Urigo/accounter-fullstack/commit/fb3fc0a1b409c088561d1aa4197221c5559f5763),
[`7c6679c`](https://github.com/Urigo/accounter-fullstack/commit/7c6679cd5843722a90abce00b1590dfa701a2689),
[`f55bdcd`](https://github.com/Urigo/accounter-fullstack/commit/f55bdcddb5afb3a4c4c9bd230b70b195d55c1b00)]:
- @accounter/green-invoice-graphql@0.7.3
- @accounter/pcn874-generator@0.5.0
## 0.0.3
### Patch Changes
- [#1194](https://github.com/Urigo/accounter-fullstack/pull/1194)
[`29bde12`](https://github.com/Urigo/accounter-fullstack/commit/29bde12f28b47ecbe7e3d699aa4cbcbb809dca62)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`date-fns@4.1.0` ↗︎](https://www.npmjs.com/package/date-fns/v/4.1.0) (from
`3.6.0`, in `dependencies`)
- [#1220](https://github.com/Urigo/accounter-fullstack/pull/1220)
[`a4624cb`](https://github.com/Urigo/accounter-fullstack/commit/a4624cb4ea83055d3043a81a0bd860186efbfbab)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@accounter/green-invoice-graphql@^0.7.1` ↗︎](https://www.npmjs.com/package/@accounter/green-invoice-graphql/v/0.7.1)
(from `^0.6.0`, in `dependencies`)
- [#1255](https://github.com/Urigo/accounter-fullstack/pull/1255)
[`b1388db`](https://github.com/Urigo/accounter-fullstack/commit/b1388db7e1dde486f5f5a4c0155e954fefd323e8)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.5.1` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.5.1)
(from `2.5.0`, in `dependencies`)
- [#1287](https://github.com/Urigo/accounter-fullstack/pull/1287)
[`2ef2c87`](https://github.com/Urigo/accounter-fullstack/commit/2ef2c8718974a6882e8867c87f314f0ad9d93700)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.9.22` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.9.22) (from
`0.9.21`, in `dependencies`)
- [#1292](https://github.com/Urigo/accounter-fullstack/pull/1292)
[`f454038`](https://github.com/Urigo/accounter-fullstack/commit/f45403846f1c394cc26001534961421544fc609a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.13.1` ↗︎](https://www.npmjs.com/package/pg/v/8.13.1) (from `8.13.0`, in
`dependencies`)
- [#1293](https://github.com/Urigo/accounter-fullstack/pull/1293)
[`2c1d87a`](https://github.com/Urigo/accounter-fullstack/commit/2c1d87a0725660625de072c56db2579804898318)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`graphql-modules@2.4.0` ↗︎](https://www.npmjs.com/package/graphql-modules/v/2.4.0) (from
`2.3.0`, in `dependencies`)
- [#1309](https://github.com/Urigo/accounter-fullstack/pull/1309)
[`72fb1aa`](https://github.com/Urigo/accounter-fullstack/commit/72fb1aa680c8bc0eb7248c342513884548009ef4)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.8.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.8.0)
(from `3.7.0`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.8.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.8.0)
(from `5.7.0`, in `dependencies`)
- [#1312](https://github.com/Urigo/accounter-fullstack/pull/1312)
[`0f6f813`](https://github.com/Urigo/accounter-fullstack/commit/0f6f81399419b5811a51c07c28865eaee9a4a290)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.9.23` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.9.23) (from
`0.9.22`, in `dependencies`)
- [#1322](https://github.com/Urigo/accounter-fullstack/pull/1322)
[`bc5f190`](https://github.com/Urigo/accounter-fullstack/commit/bc5f19036d8961cc9c1fe9545f3c8f21a3008034)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.9.23` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.9.23) (from
`0.9.22`, in `dependencies`)
- [#1329](https://github.com/Urigo/accounter-fullstack/pull/1329)
[`8095595`](https://github.com/Urigo/accounter-fullstack/commit/80955956e44e67e0263bfdb1797db5cdc15df725)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency
[`@graphql-hive/yoga@^0.38.2` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.38.2) (to
`dependencies`)
- [#1334](https://github.com/Urigo/accounter-fullstack/pull/1334)
[`a2a4589`](https://github.com/Urigo/accounter-fullstack/commit/a2a4589374fb537c208e81c9660348b50b802b95)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.9.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.9.0)
(from `3.8.0`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.9.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.9.0)
(from `5.8.0`, in `dependencies`)
- [#1336](https://github.com/Urigo/accounter-fullstack/pull/1336)
[`232b050`](https://github.com/Urigo/accounter-fullstack/commit/232b050b4d85fabe1090fa87b9b3677753daac0f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.0` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.0) (from
`0.9.23`, in `dependencies`)
- [#1340](https://github.com/Urigo/accounter-fullstack/pull/1340)
[`840ea17`](https://github.com/Urigo/accounter-fullstack/commit/840ea175933014f51453b9c18cf965feeed9160f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.10.1` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.1) (from
`0.10.0`, in `dependencies`)
- [#1359](https://github.com/Urigo/accounter-fullstack/pull/1359)
[`dd28718`](https://github.com/Urigo/accounter-fullstack/commit/dd2871873049bca68ae7eb2d191afa2ba4cd5048)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.0)
(from `3.9.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.0) (from `5.9.0`, in
`dependencies`)
- [#1360](https://github.com/Urigo/accounter-fullstack/pull/1360)
[`459616c`](https://github.com/Urigo/accounter-fullstack/commit/459616c67919dd40d313e4170235d5c731b59e99)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-hive/yoga@^0.39.0` ↗︎](https://www.npmjs.com/package/@graphql-hive/yoga/v/0.39.0)
(from `^0.38.2`, in `dependencies`)
- [#1362](https://github.com/Urigo/accounter-fullstack/pull/1362)
[`802ee94`](https://github.com/Urigo/accounter-fullstack/commit/802ee94e0d4c4c05ad769405171db4c4a6d449a2)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.1)
(from `3.10.0`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.1) (from `5.10.0`,
in `dependencies`)
- [#1364](https://github.com/Urigo/accounter-fullstack/pull/1364)
[`ad9a6f4`](https://github.com/Urigo/accounter-fullstack/commit/ad9a6f430a60aa4633f5f24cb618054ca37e6225)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`node-xlsx@0.24.0` ↗︎](https://www.npmjs.com/package/node-xlsx/v/0.24.0) (to
`dependencies`)
- [#1369](https://github.com/Urigo/accounter-fullstack/pull/1369)
[`a185265`](https://github.com/Urigo/accounter-fullstack/commit/a1852650123afb073d188fbc9ef0cf50a56f9af6)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.2)
(from `3.10.1`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.2) (from `5.10.1`,
in `dependencies`)
- [#1387](https://github.com/Urigo/accounter-fullstack/pull/1387)
[`60ddea5`](https://github.com/Urigo/accounter-fullstack/commit/60ddea53c9cc0bdb6f9d63a2164d59ceebf4d02e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv-cli@7.4.3` ↗︎](https://www.npmjs.com/package/dotenv-cli/v/7.4.3)
(from `7.4.2`, in `dependencies`)
- [#1393](https://github.com/Urigo/accounter-fullstack/pull/1393)
[`bdc1cbd`](https://github.com/Urigo/accounter-fullstack/commit/bdc1cbd22699dd3b9e0e3b18861ab9a10b6085c5)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.3` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.3)
(from `3.10.2`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.3` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.3) (from `5.10.2`,
in `dependencies`)
- [#1400](https://github.com/Urigo/accounter-fullstack/pull/1400)
[`8b29bd1`](https://github.com/Urigo/accounter-fullstack/commit/8b29bd14c51422bf17ac488bd0296c4d239d1b76)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv-cli@7.4.4` ↗︎](https://www.npmjs.com/package/dotenv-cli/v/7.4.4)
(from `7.4.3`, in `dependencies`)
- [#1404](https://github.com/Urigo/accounter-fullstack/pull/1404)
[`90c67ec`](https://github.com/Urigo/accounter-fullstack/commit/90c67ecb93c23dfa42b2ae15b4e5400cbe7936fe)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Removed dependency
[`@graphql-yoga/node@3.9.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/node/v/3.9.1) (from
`dependencies`)
- [#1432](https://github.com/Urigo/accounter-fullstack/pull/1432)
[`f6c14fd`](https://github.com/Urigo/accounter-fullstack/commit/f6c14fd8df12d761ad988553452bb473bea81cb9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.4` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.4)
(from `3.10.3`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.4` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.4) (from `5.10.3`,
in `dependencies`)
- [#1442](https://github.com/Urigo/accounter-fullstack/pull/1442)
[`4bdf9f0`](https://github.com/Urigo/accounter-fullstack/commit/4bdf9f05ef20926eede70c518433b71fba34e595)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dataloader@2.2.3` ↗︎](https://www.npmjs.com/package/dataloader/v/2.2.3)
(from `2.2.2`, in `dependencies`)
- Updated dependency [`dotenv@16.4.7` ↗︎](https://www.npmjs.com/package/dotenv/v/16.4.7) (from
`16.4.5`, in `dependencies`)
- [#1478](https://github.com/Urigo/accounter-fullstack/pull/1478)
[`cc9ef53`](https://github.com/Urigo/accounter-fullstack/commit/cc9ef538bf0a8af93553bedbb0f8da406d6f6dce)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@8.0.1` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/8.0.1)
(from `8.0.0`, in `dependencies`)
- [#1492](https://github.com/Urigo/accounter-fullstack/pull/1492)
[`78f0730`](https://github.com/Urigo/accounter-fullstack/commit/78f073076a51169c96217c6edda277d8a6d6d254)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.5` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.5)
(from `3.10.4`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.5` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.5) (from `5.10.4`,
in `dependencies`)
- [#1493](https://github.com/Urigo/accounter-fullstack/pull/1493)
[`32949d5`](https://github.com/Urigo/accounter-fullstack/commit/32949d52114e603fe7e003b1354e95f4528ff483)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.10.6` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.10.6)
(from `3.10.5`, in `dependencies`)
- Updated dependency
[`graphql-yoga@5.10.6` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.10.6) (from `5.10.5`,
in `dependencies`)
- [#1496](https://github.com/Urigo/accounter-fullstack/pull/1496)
[`36f1255`](https://github.com/Urigo/accounter-fullstack/commit/36f12555e4f68484f247e1677dd794b2dc2fcb59)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql@16.10.0` ↗︎](https://www.npmjs.com/package/graphql/v/16.10.0) (from
`16.9.0`, in `dependencies`)
- Updated dependencies
[[`f5ae7a3`](https://github.com/Urigo/accounter-fullstack/commit/f5ae7a346d7309a7d24a04641c667de0a483aff4),
[`147de78`](https://github.com/Urigo/accounter-fullstack/commit/147de78aead9f79589c6c7a2fae5e84be6b6c545),
[`a324408`](https://github.com/Urigo/accounter-fullstack/commit/a324408adc12d5dfbc76dc65765886811d56823b),
[`f454038`](https://github.com/Urigo/accounter-fullstack/commit/f45403846f1c394cc26001534961421544fc609a),
[`09a3624`](https://github.com/Urigo/accounter-fullstack/commit/09a36248c62bd7949cc41a00222e1d3f8cc31b1e),
[`aec397d`](https://github.com/Urigo/accounter-fullstack/commit/aec397d307d403223226546e2f54dfd6cef2afb5),
[`840ea17`](https://github.com/Urigo/accounter-fullstack/commit/840ea175933014f51453b9c18cf965feeed9160f),
[`4689ab0`](https://github.com/Urigo/accounter-fullstack/commit/4689ab0fae6cf9e009e8aff74aa46c069cfc2a7b),
[`1061c1d`](https://github.com/Urigo/accounter-fullstack/commit/1061c1dc5b38962a009857c4d328b08e1311e4db),
[`a2cd4f4`](https://github.com/Urigo/accounter-fullstack/commit/a2cd4f4925e99932a085abbe99b57f0848d31c44),
[`1cfc0c9`](https://github.com/Urigo/accounter-fullstack/commit/1cfc0c948c77efda00b5fd1f568215574b8015a5),
[`8b29bd1`](https://github.com/Urigo/accounter-fullstack/commit/8b29bd14c51422bf17ac488bd0296c4d239d1b76),
[`a230f9b`](https://github.com/Urigo/accounter-fullstack/commit/a230f9bd6ccf545fdd031b123514cedef04b1d2a),
[`de23ce0`](https://github.com/Urigo/accounter-fullstack/commit/de23ce015297c2b1dba17f7ad6159a54fab1bd60),
[`307c69a`](https://github.com/Urigo/accounter-fullstack/commit/307c69a44df87e1b85272e11de2245927d0a5153),
[`58cb7ee`](https://github.com/Urigo/accounter-fullstack/commit/58cb7ee7689772081ebf23771399fecbbf4c9983),
[`dd5facb`](https://github.com/Urigo/accounter-fullstack/commit/dd5facb1ed9186d062479b25998bfe7855f6ca1c),
[`29ec26d`](https://github.com/Urigo/accounter-fullstack/commit/29ec26dc57abed99c7cab24f85e96909a4921aba),
[`50ea0a2`](https://github.com/Urigo/accounter-fullstack/commit/50ea0a2366a7b8f21cf5b6c26d8120dbaf067c10),
[`6581954`](https://github.com/Urigo/accounter-fullstack/commit/6581954f05f7d216c24d7fb13772d2941ca241a4),
[`2e3417e`](https://github.com/Urigo/accounter-fullstack/commit/2e3417e60af5372f8b30ba4a2d1265aaa2864332),
[`36f1255`](https://github.com/Urigo/accounter-fullstack/commit/36f12555e4f68484f247e1677dd794b2dc2fcb59)]:
- @accounter/green-invoice-graphql@0.7.2
## 0.0.2
### Patch Changes
- [#1104](https://github.com/Urigo/accounter-fullstack/pull/1104)
[`9e659bc`](https://github.com/Urigo/accounter-fullstack/commit/9e659bcebea37b4628ede218ecc09f6a1ecc8a16)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.9.21` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.9.21) (from
`0.9.20`, in `dependencies`)
- [#1150](https://github.com/Urigo/accounter-fullstack/pull/1150)
[`120e61f`](https://github.com/Urigo/accounter-fullstack/commit/120e61f4842852d50701d0e40a49f22d2b7b7486)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@8.0.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/8.0.0)
(from `7.0.0`, in `dependencies`)
- [#1155](https://github.com/Urigo/accounter-fullstack/pull/1155)
[`f957c2f`](https://github.com/Urigo/accounter-fullstack/commit/f957c2fe71704ff85534ed46efb20b9c1e49d32d)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@envelop/generic-auth@7.0.0` ↗︎](https://www.npmjs.com/package/@envelop/generic-auth/v/7.0.0)
(from `8.0.0`, in `dependencies`)
- [#1189](https://github.com/Urigo/accounter-fullstack/pull/1189)
[`9c4f4ab`](https://github.com/Urigo/accounter-fullstack/commit/9c4f4abcbba070616730595861882e8a461a70a1)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.5.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.5.0)
(from `2.4.0`, in `dependencies`)
- [#1193](https://github.com/Urigo/accounter-fullstack/pull/1193)
[`bd80324`](https://github.com/Urigo/accounter-fullstack/commit/bd80324efed9ab40e3d01e35e45f72d289de202c)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.13.0` ↗︎](https://www.npmjs.com/package/pg/v/8.13.0) (from `8.12.0`, in
`dependencies`)
- Updated dependencies
[[`32489f3`](https://github.com/Urigo/accounter-fullstack/commit/32489f38a9bbca43b1e128f0643e3b16949a199f),
[`a5d144a`](https://github.com/Urigo/accounter-fullstack/commit/a5d144aa5ecf63491677a13568727ce49ced5b1a),
[`9e659bc`](https://github.com/Urigo/accounter-fullstack/commit/9e659bcebea37b4628ede218ecc09f6a1ecc8a16),
[`e5ae050`](https://github.com/Urigo/accounter-fullstack/commit/e5ae0509ab03b8fb2df74a962b15fd19cd509d23),
[`62d2729`](https://github.com/Urigo/accounter-fullstack/commit/62d272915d75063206f53305a3bfcf8a5b6277e8),
[`f2910cf`](https://github.com/Urigo/accounter-fullstack/commit/f2910cf1862f04899641bb13b5e691e5646f83b4),
[`b9bd839`](https://github.com/Urigo/accounter-fullstack/commit/b9bd8396bf73d77eccbf7f8681eeffebf2a5471b),
[`cd4be2b`](https://github.com/Urigo/accounter-fullstack/commit/cd4be2bb680eda1826e740e54c9a92d55accad18),
[`d67572c`](https://github.com/Urigo/accounter-fullstack/commit/d67572cbc82d7da308e7f37430c0d05ef8573915)]:
- @accounter/green-invoice-graphql@0.7.1
## 0.0.1
### Patch Changes
- [#1012](https://github.com/Urigo/accounter-fullstack/pull/1012)
[`6e6bb6c`](https://github.com/Urigo/accounter-fullstack/commit/6e6bb6c6b065d85d67f0161a223ce425b2b471e9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.6.3` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.6.3)
(from `3.6.2`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.6.3` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.6.3)
(from `5.6.2`, in `dependencies`)
- [#1064](https://github.com/Urigo/accounter-fullstack/pull/1064)
[`b9ad8b7`](https://github.com/Urigo/accounter-fullstack/commit/b9ad8b72dad72779d43bcd37996b878e8f9a394a)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.9.20` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.9.20) (from
`0.9.19`, in `dependencies`)
- [#1067](https://github.com/Urigo/accounter-fullstack/pull/1067)
[`8f44050`](https://github.com/Urigo/accounter-fullstack/commit/8f44050865c0ea18abb1f1976d054796047f163b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.7.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.7.0)
(from `3.6.3`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.7.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.7.0)
(from `5.6.3`, in `dependencies`)
- [#462](https://github.com/Urigo/accounter-fullstack/pull/462)
[`9908666`](https://github.com/Urigo/accounter-fullstack/commit/9908666f53cb05623f8f9485621e500cb1be77d2)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency
[`@accounter-toolkit/green-invoice-graphql@0.6.0` ↗︎](https://www.npmjs.com/package/@accounter-toolkit/green-invoice-graphql/v/0.6.0)
(from `0.5.2`, in `dependencies`)
- Updated dependency
[`@whatwg-node/fetch@0.9.17` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.9.17) (from
`0.9.14`, in `dependencies`)
- Updated dependency [`cloudinary@2.0.3` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.0.3)
(from `1.41.3`, in `dependencies`)
- Updated dependency [`dotenv@16.4.5` ↗︎](https://www.npmjs.com/package/dotenv/v/16.4.5) (from
`16.4.0`, in `dependencies`)
- [#470](https://github.com/Urigo/accounter-fullstack/pull/470)
[`4c86678`](https://github.com/Urigo/accounter-fullstack/commit/4c866780ef1c78880f9b62854d5ab9a5eb74db95)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Updated dependency [`dotenv-cli@7.4.1` ↗︎](https://www.npmjs.com/package/dotenv-cli/v/7.4.1)
(from `7.3.0`, in `dependencies`)
- Added dependency
[`@accounter/green-invoice-graphql@0.6.0` ↗︎](https://www.npmjs.com/package/@accounter/green-invoice-graphql/v/0.6.0)
(to `dependencies`)
- Added dependency
[`@accounter/pcn874-generator@0.4.1` ↗︎](https://www.npmjs.com/package/@accounter/pcn874-generator/v/0.4.1)
(to `dependencies`)
- Removed dependency
[`@accounter-toolkit/green-invoice-graphql@0.6.0` ↗︎](https://www.npmjs.com/package/@accounter-toolkit/green-invoice-graphql/v/0.6.0)
(from `dependencies`)
- Removed dependency
[`@accounter-toolkit/pcn874-generator@0.4.1` ↗︎](https://www.npmjs.com/package/@accounter-toolkit/pcn874-generator/v/0.4.1)
(from `dependencies`)
- [#481](https://github.com/Urigo/accounter-fullstack/pull/481)
[`fbdceb0`](https://github.com/Urigo/accounter-fullstack/commit/fbdceb08df26fe815b34db4194caf07e3442b9a2)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`date-fns@3.4.0` ↗︎](https://www.npmjs.com/package/date-fns/v/3.4.0) (from
`3.3.1`, in `dependencies`)
- [#488](https://github.com/Urigo/accounter-fullstack/pull/488)
[`0b90ae8`](https://github.com/Urigo/accounter-fullstack/commit/0b90ae881ad84250b58cb050c61b8c027f4f86cf)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.2.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.2.0)
(from `3.1.1`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.2.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.2.0)
(from `5.1.1`, in `dependencies`)
- [#491](https://github.com/Urigo/accounter-fullstack/pull/491)
[`15f7b08`](https://github.com/Urigo/accounter-fullstack/commit/15f7b08dd1651c5ec7cd5bd9c51486d0a90c5883)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`date-fns@3.5.0` ↗︎](https://www.npmjs.com/package/date-fns/v/3.5.0) (from
`3.4.0`, in `dependencies`)
- [#498](https://github.com/Urigo/accounter-fullstack/pull/498)
[`4666850`](https://github.com/Urigo/accounter-fullstack/commit/46668503a1d502f71fb61d64f5b64769d9e6142e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`date-fns@3.6.0` ↗︎](https://www.npmjs.com/package/date-fns/v/3.6.0) (from
`3.5.0`, in `dependencies`)
- [#522](https://github.com/Urigo/accounter-fullstack/pull/522)
[`0c0b2e2`](https://github.com/Urigo/accounter-fullstack/commit/0c0b2e24ddf9777262ced77f75f8044a0ad6990d)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.11.4` ↗︎](https://www.npmjs.com/package/pg/v/8.11.4) (from `8.11.3`, in
`dependencies`)
- Updated dependency
[`reflect-metadata@0.2.2` ↗︎](https://www.npmjs.com/package/reflect-metadata/v/0.2.2) (from
`0.2.1`, in `dependencies`)
- [#531](https://github.com/Urigo/accounter-fullstack/pull/531)
[`06cada9`](https://github.com/Urigo/accounter-fullstack/commit/06cada921bcdcc0ef36fa7164abb310381dd1ad0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.1.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.1.0)
(from `2.0.3`, in `dependencies`)
- [#532](https://github.com/Urigo/accounter-fullstack/pull/532)
[`d87fa2f`](https://github.com/Urigo/accounter-fullstack/commit/d87fa2fa690a3b5723b49013db905d1a2030a129)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.3.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.3.0)
(from `3.2.0`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.3.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.3.0)
(from `5.2.0`, in `dependencies`)
- [#553](https://github.com/Urigo/accounter-fullstack/pull/553)
[`1ad893a`](https://github.com/Urigo/accounter-fullstack/commit/1ad893a646d1f80fc3f853252d12a40315c237a9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`pg@8.11.5` ↗︎](https://www.npmjs.com/package/pg/v/8.11.5) (from `8.11.4`, in
`dependencies`)
- [#617](https://github.com/Urigo/accounter-fullstack/pull/617)
[`3caf386`](https://github.com/Urigo/accounter-fullstack/commit/3caf386a1e1a9697c7626f8578b032a1b4a67ed9)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.2.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.2.0)
(from `2.1.0`, in `dependencies`)
- [#643](https://github.com/Urigo/accounter-fullstack/pull/643)
[`559fa5e`](https://github.com/Urigo/accounter-fullstack/commit/559fa5ebcc51d5963d3421461408de8bb5c94b5e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql-yoga@5.3.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.3.1)
(from `5.3.0`, in `dependencies`)
- [#645](https://github.com/Urigo/accounter-fullstack/pull/645)
[`310e362`](https://github.com/Urigo/accounter-fullstack/commit/310e3623aee044da8ad6256d9d689f2dd0d33b74)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`dotenv-cli@7.4.2` ↗︎](https://www.npmjs.com/package/dotenv-cli/v/7.4.2)
(from `7.4.1`, in `dependencies`)
- [#646](https://github.com/Urigo/accounter-fullstack/pull/646)
[`b0fd1e6`](https://github.com/Urigo/accounter-fullstack/commit/b0fd1e65636d974f8411d4e9cdf952ca82e2f35f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.3.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.3.1)
(from `3.3.0`, in `dependencies`)
- [#730](https://github.com/Urigo/accounter-fullstack/pull/730)
[`65cbe28`](https://github.com/Urigo/accounter-fullstack/commit/65cbe2850726a0da5aa1433c51a34c993f8598d5)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.9.18` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.9.18) (from
`0.9.17`, in `dependencies`)
- [#745](https://github.com/Urigo/accounter-fullstack/pull/745)
[`8f16dc6`](https://github.com/Urigo/accounter-fullstack/commit/8f16dc691c5fa9b011ee59191d62ece8b7aae1b3)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql@16.8.2` ↗︎](https://www.npmjs.com/package/graphql/v/16.8.2) (from
`16.8.1`, in `dependencies`)
- [#777](https://github.com/Urigo/accounter-fullstack/pull/777)
[`f5eab11`](https://github.com/Urigo/accounter-fullstack/commit/f5eab11a148d779807f05b8c3706d58f25a4180f)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.4.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.4.0)
(from `3.3.1`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.4.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.4.0)
(from `5.3.1`, in `dependencies`)
- [#794](https://github.com/Urigo/accounter-fullstack/pull/794)
[`3adbc26`](https://github.com/Urigo/accounter-fullstack/commit/3adbc26730bae4f147df93481f3d875a667fcc68)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`graphql@16.9.0` ↗︎](https://www.npmjs.com/package/graphql/v/16.9.0) (from
`16.8.2`, in `dependencies`)
- [#831](https://github.com/Urigo/accounter-fullstack/pull/831)
[`bbc4083`](https://github.com/Urigo/accounter-fullstack/commit/bbc4083892d9760f5a196a7a28530192fe377e85)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.6.0` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.6.0)
(from `3.5.0`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.6.0` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.6.0)
(from `5.5.0`, in `dependencies`)
- [#834](https://github.com/Urigo/accounter-fullstack/pull/834)
[`f753750`](https://github.com/Urigo/accounter-fullstack/commit/f753750532b696d33386a6500642ef378deb0b67)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - dependencies updates:
- Added dependency [`node-cache@5.1.2` ↗︎](https://www.npmjs.com/package/node-cache/v/5.1.2) (to
`dependencies`)
- [#926](https://github.com/Urigo/accounter-fullstack/pull/926)
[`7b8d567`](https://github.com/Urigo/accounter-fullstack/commit/7b8d567467434b97e12493d0a8e33af13f5ec38e)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.3.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.3.0)
(from `2.2.0`, in `dependencies`)
- [#938](https://github.com/Urigo/accounter-fullstack/pull/938)
[`eebe180`](https://github.com/Urigo/accounter-fullstack/commit/eebe180ca8234c54df68b633702287c2ceffd74b)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.6.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.6.1)
(from `3.6.0`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.6.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.6.1)
(from `5.6.0`, in `dependencies`)
- [#968](https://github.com/Urigo/accounter-fullstack/pull/968)
[`9dac6ea`](https://github.com/Urigo/accounter-fullstack/commit/9dac6ea259c0b4565c1560675d54b8ecf0bfe7b7)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.3.1` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.3.1)
(from `2.3.0`, in `dependencies`)
- [#971](https://github.com/Urigo/accounter-fullstack/pull/971)
[`0489b1a`](https://github.com/Urigo/accounter-fullstack/commit/0489b1a9f0665e911d70de4cab4acbd42b4c7fad)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@graphql-yoga/plugin-defer-stream@3.6.2` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.6.2)
(from `3.6.1`, in `dependencies`)
- Updated dependency [`graphql-yoga@5.6.2` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.6.2)
(from `5.6.1`, in `dependencies`)
- [#977](https://github.com/Urigo/accounter-fullstack/pull/977)
[`821eb86`](https://github.com/Urigo/accounter-fullstack/commit/821eb86d5859108768f167d75e490ee9c3bc22c0)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency
[`@whatwg-node/fetch@0.9.19` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.9.19) (from
`0.9.18`, in `dependencies`)
- [#988](https://github.com/Urigo/accounter-fullstack/pull/988)
[`a5e828c`](https://github.com/Urigo/accounter-fullstack/commit/a5e828c62edddb5831643c2840a2cc4dff24b5fa)
Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
- Updated dependency [`cloudinary@2.4.0` ↗︎](https://www.npmjs.com/package/cloudinary/v/2.4.0)
(from `2.3.1`, in `dependencies`)
- [#1049](https://github.com/Urigo/accounter-fullstack/pull/1049)
[`55e7838`](https://github.com/Urigo/accounter-fullstack/commit/55e7838abbc2f6939a60425c787edb0bbc906261)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Better treat refund charges - set exchange
ledger to tax category instead of income category
- [#470](https://github.com/Urigo/accounter-fullstack/pull/470)
[`4c86678`](https://github.com/Urigo/accounter-fullstack/commit/4c866780ef1c78880f9b62854d5ab9a5eb74db95)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Local usage of accounter-toolkit packages
- [#546](https://github.com/Urigo/accounter-fullstack/pull/546)
[`8a11d6b`](https://github.com/Urigo/accounter-fullstack/commit/8a11d6b380dfb1f8095ce3fc566056fa5b8ba76a)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Extend DB charge's businesses array with
ledger financial entities (include tax categories)
- [#514](https://github.com/Urigo/accounter-fullstack/pull/514)
[`1b5ed4b`](https://github.com/Urigo/accounter-fullstack/commit/1b5ed4b87bb83d6d552caecc5f20736ae416cfb9)
Thanks [@gilgardosh](https://github.com/gilgardosh)! - Fix GreenInvoice numeric enums handling:
use numbers instead of underscore-prefixed strings
- Updated dependencies
[[`8fa5fa3`](https://github.com/Urigo/accounter-fullstack/commit/8fa5fa38a2e0a2dc66e7d58434b0ab0b49501e8e),
[`e01539c`](https://github.com/Urigo/accounter-fullstack/commit/e01539c4a2e6a4df8b2c8b7e558a0c29b1f1e36e),
[`1aff4f0`](https://github.com/Urigo/accounter-fullstack/commit/1aff4f02f3b9f28f7f5f3b05eb87c9913ebf32da),
[`395fa90`](https://github.com/Urigo/accounter-fullstack/commit/395fa900c3b40aab0346182abd304bf113fd4643),
[`d4342d4`](https://github.com/Urigo/accounter-fullstack/commit/d4342d4641b48a148bf8ba6ea473a44dfc4ff186),
[`544defb`](https://github.com/Urigo/accounter-fullstack/commit/544defb5a58aeef64c9e89beb7d470f7bd78bf06),
[`e33b9ae`](https://github.com/Urigo/accounter-fullstack/commit/e33b9ae42db7adf7e853d6f4765231352f261a55),
[`8d4658e`](https://github.com/Urigo/accounter-fullstack/commit/8d4658eff9a77e90e0e5f9b5df894fb9852684e5),
[`85f6b47`](https://github.com/Urigo/accounter-fullstack/commit/85f6b471c29f7b5133cc8d40b7d185d6d3acad88),
[`92a3b41`](https://github.com/Urigo/accounter-fullstack/commit/92a3b4183ae433189b96a061464beb0b9b94de92),
[`b56e384`](https://github.com/Urigo/accounter-fullstack/commit/b56e38483b4a2b854f94f7a519e46c0fe11b9a5f),
[`e6ba95a`](https://github.com/Urigo/accounter-fullstack/commit/e6ba95a212fcb58f44ab183ccf209207bf35b3b6),
[`f4c917c`](https://github.com/Urigo/accounter-fullstack/commit/f4c917c7af5bf91f94a2457c0edf002db8298808),
[`0c0b2e2`](https://github.com/Urigo/accounter-fullstack/commit/0c0b2e24ddf9777262ced77f75f8044a0ad6990d),
[`d53495b`](https://github.com/Urigo/accounter-fullstack/commit/d53495b0efce17348795766b7cc88786507fe61e),
[`a610797`](https://github.com/Urigo/accounter-fullstack/commit/a6107970b9c6526860f862002246bd5be872db55),
[`b03449e`](https://github.com/Urigo/accounter-fullstack/commit/b03449ed32bbaec45975866a0b50257d0b99fb02),
[`a7a1ccb`](https://github.com/Urigo/accounter-fullstack/commit/a7a1ccbacb18ddc86d1de4b996900e1be3c12ad3),
[`ebc6252`](https://github.com/Urigo/accounter-fullstack/commit/ebc625216c68c0d5fade0cbdf7dde6bee8ee46c3),
[`589ec6b`](https://github.com/Urigo/accounter-fullstack/commit/589ec6bc3e987c8bc670b05b0022d59422131934),
[`6a14adf`](https://github.com/Urigo/accounter-fullstack/commit/6a14adfe23c354697b082c58c1df87d1fef9f53e),
[`60a0845`](https://github.com/Urigo/accounter-fullstack/commit/60a0845cdf5754c182fed84e36522e9555b4e30c),
[`8f16dc6`](https://github.com/Urigo/accounter-fullstack/commit/8f16dc691c5fa9b011ee59191d62ece8b7aae1b3),
[`d6247ce`](https://github.com/Urigo/accounter-fullstack/commit/d6247ce0657c40a941c6e86a1c3ef260a8f52cf4),
[`3adbc26`](https://github.com/Urigo/accounter-fullstack/commit/3adbc26730bae4f147df93481f3d875a667fcc68),
[`c61694b`](https://github.com/Urigo/accounter-fullstack/commit/c61694bc859ce89ba04d1ea52629a1bc8657d070),
[`10b4fa0`](https://github.com/Urigo/accounter-fullstack/commit/10b4fa03cd4a38fcdb4069a1c2ea42d1713c040c),
[`be71797`](https://github.com/Urigo/accounter-fullstack/commit/be71797d59f358e1458d357aabd1996d3c5558ae),
[`c9d0e34`](https://github.com/Urigo/accounter-fullstack/commit/c9d0e34cf45f2e4a5f4ba2c3c09e62cd9ca1c929),
[`c8db25c`](https://github.com/Urigo/accounter-fullstack/commit/c8db25cc858367df457445cb37116d4f79d7541e),
[`406859f`](https://github.com/Urigo/accounter-fullstack/commit/406859ff9d8edd9f7590d79acdeb9ef679dd1e89),
[`12ac465`](https://github.com/Urigo/accounter-fullstack/commit/12ac4658cb9e4d4b5d023f054f5355465338218b),
[`695feef`](https://github.com/Urigo/accounter-fullstack/commit/695feef85cbadb487639ac951cb68a7387864e3f),
[`745c4d5`](https://github.com/Urigo/accounter-fullstack/commit/745c4d55e7d5337722c0a858c57c7dab5ffdbf07),
[`dd81ccb`](https://github.com/Urigo/accounter-fullstack/commit/dd81ccb4849607ef71a4859fe5e472b5e2126dc4),
[`2a154e6`](https://github.com/Urigo/accounter-fullstack/commit/2a154e63486f9637b59dd12a5296e831e5379210),
[`77dd3dc`](https://github.com/Urigo/accounter-fullstack/commit/77dd3dcb8160eac3ac75bb783cbc89185ff59f8b),
[`537ae05`](https://github.com/Urigo/accounter-fullstack/commit/537ae057bd575f99b6344a647b5de50def53c224),
[`4c86678`](https://github.com/Urigo/accounter-fullstack/commit/4c866780ef1c78880f9b62854d5ab9a5eb74db95),
[`1b5ed4b`](https://github.com/Urigo/accounter-fullstack/commit/1b5ed4b87bb83d6d552caecc5f20736ae416cfb9)]:
- @accounter/green-invoice-graphql@0.7.0
- @accounter/pcn874-generator@0.4.2