New in Fabman: Better Booking Calendar, Support for Net Prices, US/CA Taxes (and More)
We’ve shipped a lot of improvements to Fabman since our last post. Here are the most important ones:
Better Booking Calendar

We’ve improved Fabman’s booking calendar and taught it a few new tricks:
- Holidays: members (and admins) see holidays and other exceptions to your opening hours right in the booking calendar.
- Finer booking granularity options: Allow bookings to start/end at 5-minute or even 1-minute boundaries.
- Public member names: Optionally allow other members to see who has booked equipment – to simplify coordination between members in your space.
Additionally, we’ve improved support for dragging start/end times and improved booking around daylight saving time transitions and other edge cases.
Browse and Export Charges
Since January, there’s a new Charges tab in the Billings section. This allows you to see all charges across your space – without having to navigate to each member’s detail page.

Filters include kind (package charges, bookings, etc.), equipment, member, and much more, offering a detailed view of how you
The new charge list also offers the option to export all selected charges as a CSV file.
In addition, clicking on any data point in the Revenue Analytics graph now navigates to the corresponding charges in the charge list, letting you easily dig into revenue spikes or anomalies.

And if you want to do your invoicing outside Fabman, there is also a new API endpoint to delete all previously exported charges with a single click or HTTP request.
Together these two improvements make it trivial to move charges out of Fabman to import them somewhere else – even if you cannot or don’t want to write a program to automate it.

Net Prices and Configurable Tax Name
Since October, Fabman supports net prices (excluding taxes) across all pages and settings, so you can choose to configure and display all prices with or without taxes.
If you’re used to net prices (like most people in the United States and parts of Canada), head over to your account settings, click on “Billing, charges, …”, and switch to net prices. Fabman can automatically convert your existing gross prices for you, if you want.

You can also customize the tax name (e.g. from VAT to Sales Tax or GST) to match your region.
For accounts created after September 2024, Fabman automatically sets defaults for currency, tax name, and net/gross prices based on your locale, so new accounts might not need to change anything.
Finer Control Over Booking Permissions
Also since October, Packages allow more control over booking permissions. Every set of permissions on every package lets you choose whether members are allowed to book during that time or not, offering a lot more flexibility.

Copy Holidays for the Next Year
The holiday list has a new button to easily copy current and past holidays.

Dates are automatically updated to the next year, while you can still adjust it if the holiday’s date shifts.
Webhook Improvements
Fabman’s webhooks also received several improvements:
- You can now view the full request body for any event that was sent to your webhook – right in the webhook’s event list, next to your server’s response.
- A new “Retry” icon next to failed events lets you instantly retry event delivery – instead of having to wait for the retry delay to expire. This lets you debug your webhooks much quicker.
- Added the “Bridge” event category, so you can automatically react when bridges get added or removed.
- Added the “Member payment method” event category for whenever a member gets a new payment method or an existing one gets updated or deleted.
- “Charge” events: Fabman now also creates
charge_deleted
events whenever an uninvoiced charge gets automatically deleted because you removed the corresponding member package or booking.
Other Changes
- We’ve redesigned the account settings to give you a better overview of all the available options. (Similar to your space settings.)
- The overview page can now be restricted to “only opening hours” and finally supports 12-hour time format, based on your account’s locale.
- Member credits: Added filters by type and date to the “Previous Credits” list
- Updated all text filters to ignore diacritics, as suggested on the Forum. So searching for “Sedláček” also finds members named “Sedlacek” and vice versa.
- Changed default date period for the activity, invoice, and payment lists to “Last 30 days” (instead of “This month”) so that they are not suddenly empty on the first of every month.
- Changed the default date filter for the booking list from “Today” to “Upcoming”.
- Add a nice error message when you try to add a package permission with an empty time table (because that would mean the permission is never active and therefore pointless).
- You can now track payments with negative amounts, for example, when you refund something by handing out cash. (Negative amounts are not allowed for Stripe payments. You have to refund those if you want to return some of the money.)
- Member packages: Added a “metadata” field like it already exists in many other places.
- Improved handling of someone trying to book equipment that has already been archived.
- Invoices: Moved “Add payment” and “request payment via link” actions to the “Balance” section.
- Bridge firmware: Improved error diagnosis during Bridge setup (as of firmware version 5.11.0)
- Reduced delay when sending emails.
- Added “authorization checks” API to allow building your own PoS system or better integrate with existing ones.
- Added a new bridge type “PoS terminal” that can be used together with the new authorization checks API to implement a full PoS solution. (It does not switch on and off like a normal bridge.)
- The member list now includes slightly more information: company, notes, more packages
- Improved the error messages shown for some errors during card payments.
- Equipment detail page: Clicking on “manage courses” now pre-filters the training courses page to show only training courses that contain this equipment.
- Fixed that Google Calendar kept showing cancelled bookings (but you need to remove the imported calendar and re-add it to fix this).
- Fixed that the date range filters drop-down sometimes switched from, e.g., “Last 30 days” to “Custom” whenever you changed one of the other filters (when looking at the list of bookings, invoices, or payments)
- Fixed an issue with marking recurring payments in SEPA export files.
- Fixed that the PDF for cancellation invoices did not indicate that it was for a cancellation invoice.
- Fixed that tax-exempt members incorrectly had the tax included in the sums shown for “pending charges” and “upcoming bookings” (which are visible under “Account balance” on the “Charge & invoices” page) as well as in their balance preview on the “Create invoices for all charges” page.
- Fixed one case in the booking calendar where network errors were not handled as nicely as in all other places.
- Fixed that no payment type was preselected when clicking “Add payment” for members with a saved SEPA payment method.
- Fixed that several newer features like credits were not hidden when you disabled “Billing & invoices” in your account settings.
- Fixed an issue with disabling “billing features for members”.
- Fixed that booking error messages in the admin app did not render the member’s name correctly.
- Fixed an issue with exporting bookings as CSV that prevented members’ company from being exported correctly.
- Fixed an issue that could make cancelling a package very slow (or even fail) in rare circumstances.
- Fixed that we did not show an error when multiple people tried to assign a new member key using the same equipment at the same time.
- Fixed that members sometimes did not see the right “available / in use” status for equipment in the member app.
- Member app: Fixed that the booking calendar did not show the last part of your opening hours if they didn’t end at the full hour. (E.g. it only showed time slots until 15:00 if your opening hours ended at 15:15.)
- Fixed an error when selecting “Custom” while adding packages from the package list shown after adding a member.
- Fixed that the booking calendar page in the admin app downloaded more bookings than necessary, causing it to load slower than necessary.
- Fixed that editing a member package with a custom fee did not show the custom fee correctly.
- Fixed that uploading a new account logo sometimes failed without any visible error.
- Invoice API: Improved the error message if you pass incorrect charge IDs when creating an invoice.
- Live API documentation: Fixed that “resolve” and “embed” parameters were not shown as supporting multiple values.