I partly use Dolibarr for running a small nonprofit dance association.
I use Dolibarr for membership registrations, for dance class and dance event registrations, for expense reports, …
Currently I still use Gnucash for the accounting, but I do plan to shift that to Dolibarr as well. I used Gnucash long before I started to use Dolibarr.
So Dolibarr of course is not immediately a good fit for a dance organisation, so I added quite a few Complementary Attributes, mostly to Proposals, Orders and invoices, but I have also made some Complementary Attributes for Thirdparties.
I also made a little form system for registering for our dance classes and dance events, this can be seen on https://shop.balboaswing.dk/ - but please don’t register, look but don’t touch. (yeah, it is not a pretty form, but there was some other stuff in Dolibarr I had to circumvent/fix too).
Because Dolibarr sends Notifications before the event is done, when I send a “Order accepted, please pay”, Dolibarr currently sends a order reference which is for the draft order, and then once they visit my dolibarr to pay, the order is now validated and then the reference has changed :-o meaning that payment doesn’t work. I have made another little Python Flask system that circumvents that uses the value of some Complementary Attributes to find the thirdparty and order and then lookup the right payment link in Dolibarr and send the member to that address where they can pay and it is registered in Dolibarr.
I also made a little python flask class and event overview tool for our teachers and administrator (me).
I both hope to create some modules or perhaps even built in functionality in Dolibarr, but I also want to keep the public forms in a different system because that gives more flexibility where to run it and perhaps some security too.
In fact I’d like if the public and non public facing parts of Dolibarr was split into 2 different containers with different database rights, because I believe this will gain security.