Comments (4)
Hello @prognostikos,
Thank you for your raising this point.
Indeed for now Lago is handling events using the timestamp field which is supposed to be an UTC value.
A proper way to address your issue would be to store a timestamp_in_customer_timezone
along with the actual timestamp and to adapt the billing and aggregation logic to use this field.
This change is not in our short term roadmap, but we are taking it into account for future iteration as you are certainly not the only user with this concern.
In the meantime, a workaround for you could be to add the timezone difference in the timestamp
field sent in the event payload. Do you think this could do the job for now?
from lago.
@vincent-pochet making sure the timestamp is always a UTC value partially works.
Isn't it the case that if fees are always calculated early in the first day of the month UTC it will exclude events that from the customers point of view should be included if the customer timezone has a negative UTC offset? I think Lago will have already calculated the fee for that month even if more events come in on the same day for the customer's timezone. And it would be the same for events at the beginning of the month if the customer timezone has a positive UTC offset.
To support this feature I think that Lago would have to try to bill every hour for subscriptions / customers where the billing period in their timezone starts in that hour.
from lago.
Another option would be to make the day of the month where the fees are calculated configurable so that there is a long enough delay between event receipt and fee calculation - today we actually bill on the 4th for activities in the previous month. We are planning to reduce that but it wouldn't be a problem to wait 1 day or however many hours it would take to cover all customers.
from lago.
@prognostikos Sorry for the late answer on this topic.
Indeed, I think the easiest way to support this for now would be to change the default billing day or to make it editable. We are discussing it internally and we will come up with a solution soon.
Thank you for your patience.
from lago.
Related Issues (20)
- [BUG]: Error while trying to deserialize arguments: Couldn't find PaymentProviderCustomers::StripeCustomer with 'id' HOT 3
- [BUG]: Get error in customer usage tab HOT 8
- [BUG]: Freshly pulled and installed, but can't signup HOT 4
- [BUG]: Mismatch between create add-on form and generated code.
- [BUG]: Freshly cloned repo, password authentication failed for user "lago" thus cant create db properly HOT 4
- [BUG]: Error 500 when trying to download invoice HOT 3
- [BUG]: ENV Vars not read anymore HOT 6
- [BUG]: using docker-compose edit invoice settings of organization not possible HOT 4
- [BUG]: Fresh Lago installation, cannot sign up ("undefined method `default_currency' for #<Organization") HOT 3
- [BUG]: Documentation about invoice creation on multi-subscription customers HOT 1
- [BUG]: docker prod and dev setup HOT 3
- [FEATURE]: latest tag on Docker HOT 1
- [BUG]: Calculation error in Invoice? (frontend only) HOT 12
- [BUG]: https://community.getlago.com/ is down HOT 3
- [BUG]: Error when running docker compose HOT 5
- [BUG]: Wrong unit used in calculation for `Weighted Sum` Recurring metric. i.e `0.6466477675381944` instead of `1`. HOT 1
- [BUG]: call "Retrieve current usage" API,no return value HOT 2
- [BUG]: billable-metric separator code ':'
- [BUG]: Custom headers introduce CORS issues
- [BUG]: CORS /graphql letsencrypt
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lago.