Félix Malfait
f7421c5fc0
Add queue management dashboard ( #15202 )
...
Adds a comprehensive queue management interface to the admin panel for
viewing and managing background jobs.
**Features:**
- Queue detail pages showing paginated job lists (50 per page)
- Filter jobs by state: completed, failed, active, waiting, delayed,
paused
- Checkbox selection with bulk actions (delete jobs, retry failed jobs)
- Per-job dropdown menu for individual retry/delete
- Expandable rows showing error messages, stack traces, and job data
- Relative timestamps with hover tooltips
- Display attempt counts on failed jobs
- Dynamic retention policy info from backend
**Changes:**
- Backend: New AdminPanelQueueService with GraphQL endpoints for job
listing, retry, and delete
- Frontend: Queue detail page with QueueJobsTable component
- Updated retention policy: completed jobs kept 4 hours, failed jobs
kept 7 days (max 1000 each)
- Added JobState enum for type safety
<img width="634" height="696" alt="Screenshot_2025-10-20_at_11 45 25"
src="https://github.com/user-attachments/assets/c67bcd27-26cf-47f5-9575-3cd5684d006b "
/>
<img width="484" height="680" alt="Screenshot_2025-10-20_at_11 45 14"
src="https://github.com/user-attachments/assets/68725cc6-b3ec-4098-99ca-f9a717d6f8f1 "
/>
<img width="490" height="643" alt="Screenshot_2025-10-20_at_11 45 05"
src="https://github.com/user-attachments/assets/b68a5809-33ff-4452-b48b-741aff7f1dd6 "
/>
<img width="685" height="662" alt="Screenshot 2025-10-20 at 13 15 01"
src="https://github.com/user-attachments/assets/eeb5207b-de5c-4b18-bdde-392892053dab "
/>
2025-10-21 16:02:50 +02:00
Antoine Moreaux
43e0cd5d05
feat(billing): refacto billing ( #14243 )
...
… prices for metered billing
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
Co-authored-by: Félix Malfait <felix@twenty.com >
2025-09-19 11:25:53 +02:00
Antoine Moreaux
1c4568c8b1
feat(pricing/ai): improve billing metered pricing + add pricing on ai chat ( #14092 )
...
## TODO:
- [x] display "yearly" or "monthly" wording everywhere it's needed
- [ ] Add button with "downgrade" or "upgrade" to save the change of
credits price + modal to validate
- [x] Add renewal date
- [ ] Implement
https://docs.stripe.com/billing/subscriptions/subscription-schedules for
`switchFromYearlyToMonthly` and decrease number of credits
2025-08-29 16:23:07 +00:00
martmull
b2c57c5dcc
Update billing page ctas ( #12459 )
...
## Before

## After
<img width="1056" alt="image"
src="https://github.com/user-attachments/assets/4a51b7c7-898b-485f-95e8-97911292f2b1 "
/>
<img width="1299" alt="image"
src="https://github.com/user-attachments/assets/44e5e545-a660-455a-91be-3b139ccb9f30 "
/>
<img width="1180" alt="image"
src="https://github.com/user-attachments/assets/0ca765a7-1d9a-473a-b7d2-c6f9b1a72417 "
/>
<img width="963" alt="image"
src="https://github.com/user-attachments/assets/b620fd8a-61c9-4dd3-a3b1-e4ba940371e4 "
/>
<img width="863" alt="image"
src="https://github.com/user-attachments/assets/a0d2dcb5-19e5-4f83-80d4-ad5a715f1e5f "
/>
---------
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com >
2025-06-05 20:56:55 +02:00
Etienne
9a69cd0b61
add billing threshold + specific trial free credits ( #11533 )
...
In this PR :
- set billing thresholds after subscription creation (not possible
during billing checkout)
- add specific free trial workflow credit quantities + set them in
subscription item + check them when receiving stripe alert event
closes : https://github.com/twentyhq/core-team-issues/issues/682
2025-04-14 16:25:07 +00:00
Etienne
11fb8e0284
add metered products usage ( #11452 )
...
- add metered products usage module on settings/billing page
- add new resolver + logic with meter event data fetching from Stripe
<img width="590" alt="Screenshot 2025-04-08 at 16 34 07"
src="https://github.com/user-attachments/assets/34327af1-3482-4d61-91a6-e2dbaeb017ab "
/>
<img width="570" alt="Screenshot 2025-04-08 at 16 31 58"
src="https://github.com/user-attachments/assets/55aa221a-925f-48bf-88c4-f20713c79962 "
/>
- bonus : disable subscription switch from yearly to monthly
closes https://github.com/twentyhq/core-team-issues/issues/681
2025-04-09 09:26:49 +00:00
Etienne
361b7682dd
add trial period ending banner + server logic ( #11389 )
...
Solution :
- if user reaches his workflow usage cap + in trial period > display
banner
- end trial period if user has payment method (if not, not possible)
<img width="941" alt="Screenshot 2025-04-04 at 10 27 32"
src="https://github.com/user-attachments/assets/d7a1d5f7-9b12-4a92-a7c7-15ef8847c790 "
/>
2025-04-07 15:28:02 +02:00
Félix Malfait
07bd2486ca
Add enterprise plan in cloud onboarding ( #11100 )
...
Adding a way to switch to enterprise plan during onboarding
<img width="409" alt="Screenshot 2025-03-21 at 17 03 19"
src="https://github.com/user-attachments/assets/7a8c9ebd-3d77-4875-a141-c30fa5119eff "
/>
2025-03-21 17:38:13 +01:00
Ana Sofia Marin Alexandre
4d7e52ef25
deprocate getProductPrices query in front end ( #10397 )
...
**TLDR:**
Deprecate getProductPrices in the frontEnd and replace it with
BillingBaseProductPrices.
**In order to test:**
- Have the environment variable IS_BILLING_ENABLED set to true and add
the other required environment variables for Billing to work
- Do a database reset (to ensure that the new feature flag is properly
added and that the billing tables are created)
- Run the command: npx nx run twenty-server:command
billing:sync-plans-data (if you don't do that the products and prices
will not be present in the database)
- Run the server , the frontend, the worker, and the stripe listen
command (stripe listen --forward-to
http://localhost:3000/billing/webhooks )
- Buy a subscription for acme workspace the choose your plan should be
using the new front end endpoint
2025-03-05 15:27:34 +01:00
Félix Malfait
97f5a5b8a5
Pass Billing Checkout var in url to bypass credit card ( #9283 )
2024-12-31 14:48:00 +01:00
martmull
b8f33f6f59
5095 move onboardingstatus computation from frontend to backend ( #5954 )
...
- move front `onboardingStatus` computing to server side
- add logic to `useSetNextOnboardingStatus`
- update some missing redirections in
`usePageChangeEffectNavigateLocation`
- separate subscriptionStatus from onboardingStatus
2024-06-28 17:32:02 +02:00
martmull
8e4123e772
48 add yearly monthly sub switch ( #4577 )
2024-03-21 10:47:25 +01:00
martmull
0b889ef089
43 add billing portal link ( #4318 )
...
* Add create billing portal session endpoint
* Rename checkout to checkoutSession
* Add billig portal query in twenty-front
* Add billing menu item
* WIP: add menu page
* Code review returns
* Rename request files
* Unwip: add menu page
* Add billing cover image
* Fix icon imports
* Rename parameter
* Add feature flag soon pill
2024-03-05 17:40:58 +01:00
martmull
28a093d495
42 add billing portal endpoint ( #4315 )
...
* Add create billing portal session endpoint
* Rename checkout to checkoutSession
* Code review returns
2024-03-05 15:28:45 +01:00
martmull
9ca3dbeb70
39 create subscription and success modale ( #4208 )
...
* Init add choose your plan page component
* Update price format
* Add billing refund trial duration env variable
* Add billing benefits
* Add Button
* Call checkout endpoint
* Fix theme color
* Add Payment success modale
* Add loader to createWorkspace submit button
* Fix lint
* Fix dark mode
* Code review returns
* Use a resolver for front requests
* Fix 'create workspace' loader at sign up
* Fix 'create workspace' with enter key bug
2024-02-28 19:51:04 +01:00