-
Notifications
You must be signed in to change notification settings - Fork 125
Comparing changes
Open a pull request
base repository: getlago/lago-api
base: v1.32.2
head repository: getlago/lago-api
compare: v1.32.3
- 11 commits
- 58 files changed
- 5 contributors
Commits on Aug 7, 2025
-
Feat(fixed_charges): Move
AmountDetails
toChargeModels
namespace (……#4098) ## Roadmap Task 👉 https://getlago.canny.io/feature-requests/p/allow-add-ons-to-be-added-to-subscription-invoices 👉 https://getlago.canny.io/feature-requests/p/define-quantities-for-plan-charges ## Context What is the current situation? **Option 1:** User has to create a one off invoice alongside the subscription, it will create 2 different invoices. **Option 2:** User can add a recurring billable metric and use event to have this fee invoice on subscription renewal, but it won’t appear on the first billing subscription. What problem are we trying to solve? At subscription creation or afterward, there is no clear way to invoice a fixed fee that is not tied to events, aside from the subscription fee itself. This fee could be either a one-time charge or a recurring one. ## Description - Move `AmountDetails` services from `Charges` to `ChargeModels` namespace
Configuration menu - View commit details
-
Copy full SHA for 715806a - Browse repository at this point
Copy the full SHA 715806aView commit details -
fix(invoice): Voided invoice is disputable as well (#4107)
## Context Voided invoice should be disputable as well. ## Description Change `Invoice#payment_dispute_losable?` method to return true even if invoice is voided.
Configuration menu - View commit details
-
Copy full SHA for 68ffb23 - Browse repository at this point
Copy the full SHA 68ffb23View commit details -
misc(event): Add missing results on events services (#4110)
## Description This PR defines the `Result` object for all Events services, the goal is to avoid relying on the Legacy base result as it uses `OpenStruct` internally and is knows to cause memory issues
Configuration menu - View commit details
-
Copy full SHA for 1faf748 - Browse repository at this point
Copy the full SHA 1faf748View commit details -
Fix get tax regenerate invoice (#4108)
## Context When regenerating an invoice from a voided one, the process to get taxes if the external provider is done in async way, so if taxes are pending, we can save the invoice because it will be finalized by another job when we have the taxes back We want to allow the regeneration process to proceed and persist the invoice with a tax_status of "pending", so users or automated systems can later inspect or correct the issue.
Configuration menu - View commit details
-
Copy full SHA for 991236b - Browse repository at this point
Copy the full SHA 991236bView commit details -
Feat(fixed_charges): Extract ChargeModel::FilterPropertiesService (#4100
) ## Roadmap Task 👉 https://getlago.canny.io/feature-requests/p/allow-add-ons-to-be-added-to-subscription-invoices 👉 https://getlago.canny.io/feature-requests/p/define-quantities-for-plan-charges ## Context What is the current situation? **Option 1:** User has to create a one off invoice alongside the subscription, it will create 2 different invoices. **Option 2:** User can add a recurring billable metric and use event to have this fee invoice on subscription renewal, but it won’t appear on the first billing subscription. What problem are we trying to solve? At subscription creation or afterward, there is no clear way to invoice a fixed fee that is not tied to events, aside from the subscription fee itself. This fee could be either a one-time charge or a recurring one. ## Description - Extract `FilterChargeModelPropertiesService` from `Charges` namespace to `ChargeModels` namespace. Also, ensure it supports different chargeable types like `charge` and `fixed_charge`
Configuration menu - View commit details
-
Copy full SHA for ed9eec3 - Browse repository at this point
Copy the full SHA ed9eec3View commit details -
Feat(fixed_charges): Extract chargeable validation service (#4109)
## Roadmap Task 👉 https://getlago.canny.io/feature-requests/p/allow-add-ons-to-be-added-to-subscription-invoices 👉 https://getlago.canny.io/feature-requests/p/define-quantities-for-plan-charges ## Context What is the current situation? **Option 1:** User has to create a one off invoice alongside the subscription, it will create 2 different invoices. **Option 2:** User can add a recurring billable metric and use event to have this fee invoice on subscription renewal, but it won’t appear on the first billing subscription. What problem are we trying to solve? At subscription creation or afterward, there is no clear way to invoice a fixed fee that is not tied to events, aside from the subscription fee itself. This fee could be either a one-time charge or a recurring one. ## Description Add `Plans::ChargeablesValidationService` to validate billable metrics and add ons for charges and fixed charges on plans creation params.
Configuration menu - View commit details
-
Copy full SHA for 84ade9f - Browse repository at this point
Copy the full SHA 84ade9fView commit details -
REVERT: Projected usage feature on API (#4112)
## Context Investigate if this is the cause of the RAM spike ## Description Changed the calculations to return fixed values when called from outside the API controller
Configuration menu - View commit details
-
Copy full SHA for 12ac27c - Browse repository at this point
Copy the full SHA 12ac27cView commit details
Commits on Aug 8, 2025
-
Feat(fixed_charges): Add FixedCharges::CreateService (#4113)
## Roadmap Task 👉 https://getlago.canny.io/feature-requests/p/allow-add-ons-to-be-added-to-subscription-invoices 👉 https://getlago.canny.io/feature-requests/p/define-quantities-for-plan-charges ## Context What is the current situation? **Option 1:** User has to create a one off invoice alongside the subscription, it will create 2 different invoices. **Option 2:** User can add a recurring billable metric and use event to have this fee invoice on subscription renewal, but it won’t appear on the first billing subscription. What problem are we trying to solve? At subscription creation or afterward, there is no clear way to invoice a fixed fee that is not tied to events, aside from the subscription fee itself. This fee could be either a one-time charge or a recurring one. ## Description Add `FixedCharges::CreateService` to handle fixed charge creation: * accepts add_on id and code * apply default properties based on fixed charge's charge model * filter properties based on the charge model * apply taxes to the fixed charge
Configuration menu - View commit details
-
Copy full SHA for daf56d8 - Browse repository at this point
Copy the full SHA daf56d8View commit details -
fix(subscription-service): Fix potential race condition (#4117)
## Context There is a potential race condition when terminating a subscription. This job is called before invoice is created (transaction is not committed yet): ``` GeneratePdfAndNotifyJob.perform_later(invoice:, email: should_deliver_finalized_email?) ``` ## Description Call all the webhooks and other dependent jobs `after_commit`.
Configuration menu - View commit details
-
Copy full SHA for 4206a63 - Browse repository at this point
Copy the full SHA 4206a63View commit details -
Feat(fixed_charges): Plans::CreateService creates fixed charges (#4116)
## Roadmap Task 👉 https://getlago.canny.io/feature-requests/p/allow-add-ons-to-be-added-to-subscription-invoices 👉 https://getlago.canny.io/feature-requests/p/define-quantities-for-plan-charges ## Context What is the current situation? **Option 1:** User has to create a one off invoice alongside the subscription, it will create 2 different invoices. **Option 2:** User can add a recurring billable metric and use event to have this fee invoice on subscription renewal, but it won’t appear on the first billing subscription. What problem are we trying to solve? At subscription creation or afterward, there is no clear way to invoice a fixed fee that is not tied to events, aside from the subscription fee itself. This fee could be either a one-time charge or a recurring one. ## Description Updates `Plans::CreateService` to: - persist `bill_fixed_charges_monthly` - create fixed charges records with `FixedCharges::CreateService` - add fixed charge counts in track plan created for Segment tracking
Configuration menu - View commit details
-
Copy full SHA for 86d412d - Browse repository at this point
Copy the full SHA 86d412dView commit details -
fix(charge-model-factory): Boolean param to only calculate the projec…
…ted values when being called by the projection service (#4118) ## Context Related to the RAM increase after the projected usage feature was merged. This one complements the previous that added a boolean flag to only calculate the projected values from the right parts of the application. ## Description In the `ChargeModelFactory`, added a boolean attribute that is only `true` when coming from the `ProjectionService`.
Configuration menu - View commit details
-
Copy full SHA for 8c42cb7 - Browse repository at this point
Copy the full SHA 8c42cb7View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.32.2...v1.32.3