1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-11-29 10:24:20 +01:00
Commit Graph

653 Commits

Author SHA1 Message Date
Sylvain
01a0612a4b fix create invoice for each due date 2021-01-25 14:37:07 +01:00
Sylvain
26636254bd generate the invoices for each schedule item and notify if something goes wrong 2021-01-25 13:05:27 +01:00
Sylvain
e5439901d6 fix generate payment schedule pdf + send by mail
TODO: total amount does not match with sum of all lines
- generate invoices for each PS-item
- interface to access the payment schedules
2021-01-19 16:47:51 +01:00
Sylvain
12e99f4c9c generate payment schedule pdf 2021-01-04 18:12:44 +01:00
Sylvain
37af665991 save subcription id in payment schedule item 2021-01-04 17:03:44 +01:00
Sylvain
8b13ae45ac all tests passing 2021-01-04 16:26:52 +01:00
Sylvain
728ae4310c improved testing of payment schedules + some fixes
TODO: fix the test
rails test test/integration/reservations/create_test.rb
Reservations::CreateTest#test_user_reserves_a_machine_and_renew_a_subscription_with_payment_schedule_and_coupon_and_wallet [test/integration/reservations/create_test.rb:841]
Minitest::Assertion: Expected: "stripe"
  Actual: nil
2020-12-30 18:43:33 +01:00
Sylvain
dc00df4afc fix stripe subscription w/ coupon + wallet 2020-12-30 12:19:33 +01:00
Sylvain
b8319a5124 handle percent coupons w/ stripe subscriptions 2020-12-30 10:17:39 +01:00
Sylvain
fba5f57a1c handle wallet transaction w/ stripe subscription 2020-12-29 18:55:00 +01:00
Sylvain
feeed2f450 fix take a reservation + subscription
FIXME:
ActionView::Template::Error (undefined method `iso8601' for nil:NilClass)
Callstack:
  app/views/api/reservations/show.json.jbuilder:40:in `_app_views_api_reservations_show_json_jbuilder'
  app/controllers/api/payments_controller.rb:91:in `confirm_payment_schedule'
2020-12-28 18:30:27 +01:00
Sylvain
3e4892d3a5 WIP: creating payment schedule workers
see TODO in app/workers/payment_schedule*
2020-12-23 16:56:19 +01:00
Sylvain
32b0222da5 save payment schedules PDF to a persistant volume storage 2020-12-22 16:39:37 +01:00
Sylvain
bbf88846dd refactored Invoice & PaymentSchedule to use inheritance 2020-12-22 14:43:08 +01:00
Sylvain
6fa9780ad5 refactor chainable/footprint protected models to use inheritance 2020-12-22 09:53:41 +01:00
Sylvain
d3a41903cd WIP: exclude invoice_id from footprint in payment_schedule_item 2020-12-21 17:37:58 +01:00
Sylvain
609d19e5d1 refactored subscription process + renew (update) subscription/ offre free days 2020-12-21 16:12:34 +01:00
Sylvain
40c78974b8 refactoring of reservation:pay_and_save
TODO: debug with tests,
refactor subscription:pay_and_save on the same template
2020-12-16 18:33:43 +01:00
Sylvain
908ccf5bab handle reservations+subscription w/ schedule
integration testing for payment schedule
debug reservation process
2020-12-14 17:42:23 +01:00
Sylvain
5941446a72 fixes for card payment 2020-12-02 14:28:41 +01:00
Sylvain
34a9084501 pass payment method to the ruby service 2020-11-23 11:48:44 +01:00
Sylvain
678af0de1f using stripe api + improved ui + ui to configure schedules reference
TODO: as an admin, I can select if payment_method = (stripe || local)
2020-11-16 16:37:40 +01:00
Sylvain
b5504d2342 create stripe subscription with all data 2020-11-12 16:44:55 +01:00
Sylvain
ed5b90cbdc add stp_product_id to all items that can be scheduled 2020-11-12 12:14:51 +01:00
Sylvain
78847bdb4b WIP: create subscription on stripe 2020-11-10 17:02:21 +01:00
Sylvain
21bd1312bc compute payment schedule + basic display 2020-11-03 16:50:11 +01:00
Sylvain
408531d13a use i18next instead of angular-translate for react components 2020-11-02 11:07:08 +01:00
Sylvain
14091f547e parse multiple scss files for theme 2020-10-29 16:11:19 +01:00
Sylvain
4f877ab05d react coponent: plan-card + extracted scss from stylesheet.rb into themes/ 2020-10-29 15:53:29 +01:00
Sylvain
106d8be4c8 Merge branch 'dev' into monthly-payment 2020-10-28 12:11:49 +01:00
Sylvain
1699bbf143 [bug] theme primary color is ignored on links 2020-10-28 12:10:25 +01:00
Sylvain
ddd2b252ab fix caret color 2020-10-28 10:27:59 +01:00
Sylvain
ccd3e93428 fix about link color 2020-10-28 10:03:04 +01:00
Sylvain
44525f9bad Merge branch 'dev' into monthly-payment 2020-10-28 09:53:28 +01:00
Sylvain
bf76157703 Initialize new plans with default prices for machines & spaces 2020-10-28 09:24:31 +01:00
Sylvain
a9cc0b391b save products and prices to stripe for each plans 2020-10-27 16:46:38 +01:00
Sylvain
6be51feeb2 save stp_price_id for each plan 2020-10-27 16:03:20 +01:00
Sylvain
840be2c6c0 renamed RepaymentSchedule to PaymentSchedule 2020-10-27 16:02:41 +01:00
Sylvain
52f3bd956f database structure for payment schedule 2020-10-27 11:32:20 +01:00
Sylvain
2227a59275 [bug] unable to rename a group containing users 2020-10-20 15:52:14 +02:00
Sylvain
b5a4e724e8 [bug] email notification after reservation update have wrong previous date (#234) 2020-10-20 15:14:11 +02:00
Sylvain
57b76d156b Alert before cancelling a reservation that credits will be lost 2020-09-29 12:03:13 +02:00
Sylvain
13bc5334cc ability to configure until when the events are shown on the home page 2020-09-29 09:39:32 +02:00
Sylvain
14b0b2ac30 class documentation 2020-07-21 19:28:30 +02:00
Sylvain
7bf06ff23e debug footprints 2020-07-21 19:25:21 +02:00
Sylvain
e644e4894a using unaccent to build project search index + updated doc 2020-06-30 15:58:39 +02:00
Sylvain
e95b270433 multiples fixes
- improved project search
- fix db schema (sql)
- improved doc
- removed es_language_analyzer var (deprecated)
2020-06-24 17:22:38 +02:00
Sylvain
8137418904 improved test for accounting periods 2020-06-24 15:25:17 +02:00
Sylvain
e288f66997 use search index to speed up projects searches 2020-06-23 17:06:59 +02:00
Sylvain
7140571d63 filter & search projets from postgres 2020-06-23 11:19:20 +02:00
Sylvain
1a6cd356bf WIP: using postgres for full-text search in projects 2020-06-22 16:28:05 +02:00
Sylvain
d83e3a8d26 using gem pg_search 2020-06-22 11:25:35 +02:00
Sylvain
7af6f18973 source for building search engine 2020-06-17 16:56:10 +02:00
Sylvain
a164ec402d poc using tsvector 2020-06-17 16:49:38 +02:00
Sylvain
40dd39304e enable/disable statistics module fomr the UI 2020-06-17 12:20:51 +02:00
Sylvain
24155bc009 ability to lock settings from the env vars 2020-06-15 13:20:48 +02:00
Sylvain
42872ab107 configure wallet from UI 2020-06-15 12:44:43 +02:00
Sylvain
f46c78a476 read email_confirmation_required from the UI 2020-06-15 11:57:13 +02:00
Sylvain
48bcf0b838 configure invoices prefix from the DB 2020-06-15 10:58:15 +02:00
Sylvain
78518e17fb read stripe_currency from the UI
We prevent the currency from being changed if any stripe payment was made, because a stripe user cannot made pay with different currencies. If we try to charge a user with a different currency than the currency he used for a previous payment, this will fail; so we must prevent this case
2020-06-10 16:37:11 +02:00
Sylvain
4b8504f531 fix tests 2020-06-10 11:52:54 +02:00
Sylvain
82d6677cff read stripe_api_key from db 2020-06-10 11:33:03 +02:00
Sylvain
dbda82ac9b notify after members sync on stripe 2020-06-09 15:06:46 +02:00
Sylvain
d5939a9de5 set the stripe keys from the UI 2020-06-09 13:09:31 +02:00
Sylvain
06b5da9df8 configure online payment from the UI 2020-06-08 17:42:59 +02:00
Sylvain
b44a8da73b set openlab_default from the UI 2020-06-08 16:15:44 +02:00
Sylvain
f78eb10c75 use openlab_app_secret from db w/ openlab_ruby gem 2020-06-08 15:17:56 +02:00
Sylvain
88f2fb3749 secure the settings API (read) + read the openlab settings from the db 2020-06-08 15:08:07 +02:00
Sylvain
db8de18bd4 set openlab-projects id & secret from the UI 2020-06-08 11:38:49 +02:00
Sylvain
5c152412db test mime type of a file
use marcel to test mime types
updated mimemagic
2020-06-03 16:25:13 +02:00
Sylvain
ebe602ad1c WIP: enforce mime type checking for uploads 2020-06-02 19:18:57 +02:00
Sylvain
45013be950 configure default_host & default_protocol from env
reverts 478a6c40 (partially) & b2434864
2020-06-02 18:29:24 +02:00
Sylvain
9a0f36c245 configure disqus_shortname from the UI 2020-06-01 18:31:43 +02:00
Sylvain
478a6c409d define default_protocol & default_host from the UI + fix email_from + various minor fixes 2020-06-01 17:32:32 +02:00
Sylvain
0617e4cd26 configure default_mail_from from the UI 2020-06-01 12:15:16 +02:00
Sylvain
434c211ccf configure the features tour display mode from the UI 2020-05-27 18:49:53 +02:00
Sylvain
0d211e2e31 configure google recaptcha from UI 2020-05-27 16:35:30 +02:00
Sylvain
c3846e7080 configure twitter analytics from the UI 2020-05-27 15:39:39 +02:00
Sylvain
628a0f3bc3 configure facebook_app_id from the UI 2020-05-27 12:29:51 +02:00
Sylvain
2d628d8826 disable the invoicing module from the UI config panel 2020-05-26 18:07:07 +02:00
Sylvain
537743a740 configure the plans module from the admin UI 2020-05-26 15:39:28 +02:00
Sylvain
6cc6bba7ce refactored app to gather spaces module status from the settings 2020-05-26 13:59:40 +02:00
Sylvain
fd93093f0d UI to configure the spaces module 2020-05-26 10:53:49 +02:00
Sylvain
acefc325f6 configure events_in_calendar form the UI panel 2020-05-25 17:36:53 +02:00
Sylvain
ba4c39ca99 use slot duration from the db setting 2020-05-25 12:55:01 +02:00
Sylvain
a63340188b configure default slot duration from settings panel 2020-05-25 12:55:01 +02:00
Sylvain
ddce7f516a configuration of book concurrent slots through the settings interface 2020-05-25 12:55:00 +02:00
Sylvain
419605e551 configuration of google analytics tracking ID through the settings interface 2020-05-25 12:55:00 +02:00
Sylvain
13bcd9a1f8 use phoneRequired from settings instead of env 2020-05-25 12:54:19 +02:00
Sylvain
f80eb230ca refactored code to use Setting.get 2020-05-25 12:54:19 +02:00
Sylvain
654d4b1cb4 setting: phone_required 2020-05-25 12:54:19 +02:00
Sylvain
18e2b032ae fix import users from csv 2020-05-19 11:45:51 +02:00
Sylvain
2b95c043e3 Removed dependency to has_secure_token to fix warnings about already initialized constant 2020-05-18 17:45:01 +02:00
Sylvain
fdc2f60ff5 [bug] when a new account is created through the sign-up modal, the role is not reported in the StatisticProfile (#196)
Also: if a member was deleted the /api/members/mapping will raise an error
2020-05-18 16:23:53 +02:00
Sylvain
14c8cbbf57 typos 2020-05-11 17:17:37 +02:00
Sylvain
9f8fb1a95c fix tests + fix price.compute flor slots 2020-05-11 13:52:27 +02:00
Sylvain
1fdea63828 correct some errors due to Price.compute refactoring 2020-05-11 10:56:23 +02:00
Sylvain
06502cde33 [bug] accounting periods totals are wrong for periods closed after 2019-08-01 2020-05-11 10:10:52 +02:00
Sylvain
be23cf27c3 use Price.compute to generate invoice items 2020-05-06 12:43:47 +02:00
Sylvain
19de8ca319 fix: manager can offer slot to other users 2020-05-06 09:58:15 +02:00
Sylvain
e6f8a34aa4 [ongoing] compute per based on a hourly rate 2020-05-05 17:56:47 +02:00
Sylvain
34935cbc35 decrease higher limit for black text on primary color 2020-05-05 16:20:44 +02:00
Sylvain
2d8df2c1cd Ability to promote a user to a higher role (member > manager > admin) 2020-05-05 11:28:04 +02:00
Sylvain
06a5bff084 [ongoing] change user role 2020-05-04 18:32:25 +02:00
Sylvain
3319e68526 Auto-adjusts text colors based on the selected theme colors 2020-05-04 13:20:57 +02:00
Sylvain
29e7ac2f08 [bug] background image of the profile is not shown and wrong menu hover color 2020-05-04 12:10:13 +02:00
Sylvain
7640704568 fix payment method on invoices operated by a manager 2020-05-04 11:36:06 +02:00
Sylvain
6aa7ba89e8 manager's notifications 2020-04-29 15:34:30 +02:00
Sylvain
35ce577651 [bug] subscription page shows the groups without any active plans
[bug] cart price inconsistently updated after a subscription
[feature] plans page for managers
2020-04-29 10:57:32 +02:00
Sylvain
3e177b5177 managers events views 2020-04-28 12:48:03 +02:00
Sylvain
2da644ecd5 [bug] unable to delete an unreserved event 2020-04-28 10:05:28 +02:00
Sylvain
3624bee057 {bug] unable to create events or trainings that are not multiples of SLOT_DURATION 2020-04-28 09:45:12 +02:00
Sylvain
570672c5db [bug] unable to change group if the previous was deactivated 2020-04-28 09:21:33 +02:00
Sylvain
69c8d7c678 manager can change existing reservations 2020-04-27 12:58:55 +02:00
Sylvain
5312c13d3f [manager] manage agenda + book machines for himself&others 2020-04-27 12:12:29 +02:00
Sylvain
c30ae8179e fix groups and tags in manager creation + helpers to get users w/ role partner|manager 2020-04-22 10:46:46 +02:00
Sylvain
ff75a96ecc Ability to define, per availability, a custom duration for the reservation slots 2020-04-15 18:08:02 +02:00
Sylvain
de9c224a92 improved version check
- use referer from client when available
- save uuid returned by hub
- send uuid to hub on version check
- check the version on each startup to prevent wrong sync
- also: do not save a setting on API update if it has not changed
2020-04-07 17:53:19 +02:00
Sylvain
3917d6042c [bug] no statistics for subscriptions (#196)
+ [bug] issing translation for subscriptions statistics > duration
2020-04-01 17:25:55 +02:00
Sylvain
f9e18ca580 removed dependency to discoutinued protected_attributes + fixed auth_provider 2020-03-30 16:17:32 +02:00
Sylvain
02c1014412 class documentation 2020-03-30 11:33:12 +02:00
Sylvain
d33c6c0d30 documented all models until StatisticField + fixes halting callback chains via returning false + improved some code 2020-03-25 17:45:53 +01:00
Sylvain
68b8827499 removed unused PlanImage 2020-03-25 16:49:13 +01:00
Sylvain
6b66d601e1 inherit models from ApplicationRecord 2020-03-25 12:35:09 +01:00
Sylvain
df8ff77597 fix migrations for rails 5 + use maildev instead of mailcatcher + fix tests script 2020-03-25 12:35:08 +01:00
Du Peng
9ca9425ef4 update to rails 5.0.7.2 2020-03-25 12:35:07 +01:00
Sylvain
0b341af1ed [bug] unable to create new availabilities if SLOT_DURATION is not defined 2020-03-11 11:31:06 +01:00
Sylvain
978c44f55f fix an issue: shift in subscription end date when over DST 2020-03-04 11:43:12 +01:00
Sylvain
a44bf85014 Merge branch 'slot_is_only_subscriptions' into dev 2020-03-02 16:27:26 +01:00
Sylvain
d833f6d812 harmonize Fab-manager trademark syntax 2020-02-26 10:19:43 +01:00
Du Peng
096a658bac add a validator to check reservation's slot is or not restrict for subscriptions 2020-02-11 13:22:20 +01:00
Du Peng
74cc69d1bd Ability to configure reservation slot restrict for plans 2020-02-07 17:37:00 +01:00
Sylvain
656a603d6c customize home page css 2020-01-27 17:10:29 +01:00
Sylvain
37c90b1d54 ruby syntax 2020-01-22 14:34:45 +01:00
Sylvain
b85c7ac00b admin set its customized html template for the home page & can reset it to factory value 2020-01-22 11:53:40 +01:00
Sylvain
15ab3c1305 Ability to customize the title of the link to the about page 2020-01-21 16:16:12 +01:00
Du Peng
fe387cbe3c Merge branch 'twitter' into dev 2020-01-15 12:40:01 +01:00
Du Peng
db29673a4c remove twitter api for get latest tweet 2020-01-15 12:34:51 +01:00
Sylvain
059096c2dd privacy option for fab-analytics 2020-01-15 10:46:04 +01:00
Sylvain
bb48a13f83 health endpoint & automated version check 2020-01-14 14:33:00 +01:00
Sylvain
64764e5498 check version on hub & [ongoing] health endpoint 2020-01-13 17:05:53 +01:00
Sylvain
1c4f144b8d Merge branch 'members-filters' into dev 2020-01-07 10:44:55 +01:00
Sylvain
f778ee9016 fix syntax + add missing translations 2020-01-07 10:44:29 +01:00
Sylvain
b6ee4e92a4 change falsy value + updated changelog 2020-01-07 10:34:12 +01:00
Nicolas Florentin
62c979cfc0 members filters, translations for other languages are still needed 2019-12-20 15:47:42 +01:00
Nicolas Florentin
0a3a6d034a env variable USER_CONFIRMATION_NEEDED_TO_SIGN_IN can force user to confirm his account to sign in 2019-12-18 16:02:47 +01:00
Sylvain
6aa3c0caeb Notify all admins on the creation of a refund invoice 2019-12-09 11:55:31 +01:00
Sylvain
60755a2c2a Merge remote-tracking branch 'origin/fix-time-now' into dev 2019-12-03 15:51:22 +01:00
Sylvain
11e74c6859 Merge branch 'ics' into dev 2019-12-03 15:30:28 +01:00
Sylvain
64fe68b2b0 icalendar source sync: create/update/delete ical events 2019-12-03 12:16:07 +01:00
Sylvain
122ff54cd8 fix colors in ics imports 2019-12-03 10:17:29 +01:00
Sylvain
22be9f6a08 display external calendars list in public calendar + pull availabilities 2019-12-02 16:49:20 +01:00
Sylvain
cca6b14f58 import events asyncronously from icalendar 2019-12-02 15:53:24 +01:00
Nicolas Florentin
db41e846dd uses DateTime#current instead of Time.now in tests 2019-12-02 15:29:05 +01:00
Nicolas Florentin
b17bcfde86 comment model slot.rb 2019-12-02 12:39:20 +01:00
Nicolas Florentin
6ff6c71060 rm dead code Slot#can_be_modified? 2019-12-02 12:32:52 +01:00
Nicolas Florentin
77cf8c8218 replaces almost all Time.now by DateTime.current 2019-12-02 11:57:25 +01:00
Sylvain
baf8cfb487 iCalendar server api & db model 2019-11-27 17:05:19 +01:00
Sylvain
48b811d2b5 Added freeCAD files as default allowed extensions
also: refactored some ruby code
2019-11-25 16:12:23 +01:00
Sylvain
1182822d8b show correct seats nb in canceled reservation 2019-11-25 10:45:54 +01:00
Sylvain
bbd613f2a5 compute right nb of free seats for event reservation
also: copy nb_total_places to n+1 instances when creating recurrent
availabilities
2019-11-25 10:30:12 +01:00
Sylvain
cabe2e5604 update free places after cancel event reservation 2019-11-20 17:06:42 +01:00
Sylvain
b725a5a071 Merge branch 'cancel' into dev 2019-11-20 10:27:56 +01:00
Sylvain
ad928bd4e6 ability to set phone number optional or required
also: show stars on required fields in new admin form
2019-11-19 11:44:32 +01:00
Sylvain
a60a39ff9e [ongoing] create multiple availabilities according to UI 2019-11-13 12:13:22 +01:00
Sylvain
e8930924e4 [bug] do not display each days in invoices for multiple days event reservation 2019-10-16 16:11:37 +02:00
Sylvain
19a125bd67 [bug] accounting export: on subscription + reservation invoice, the subscription item is exported twice 2019-10-07 12:08:08 +02:00
Sylvain
193e81e711 Merge branch 'uvsq' into dev 2019-09-30 15:34:21 +02:00
Sylvain
0d3cc0fe40 [feature] Ability to disable invoices generation and interfaces 2019-09-30 15:29:20 +02:00
Sylvain
ff5de97c92 import new users from CSV and view results in app
TODO:
 - update users though CSV
2019-09-26 17:05:57 +02:00
Sylvain
4deaf1f75a [ongoing] import members from csv 2019-09-25 16:37:42 +02:00
Sylvain
a532efd198 upload csv file to the server through the API and save it on the disk 2019-09-24 17:42:50 +02:00
Sylvain
ede53ad761 [feature] Ability to set project's CAO attachement maximum upload size 2019-09-24 16:40:38 +02:00
Sylvain
8eda1e673f Merge remote-tracking branch 'origin/hotfixes' into dev 2019-09-24 14:43:14 +02:00
Sylvain
f75633e64e [bug] create a plan does not set its name 2019-09-24 11:41:07 +02:00
Nicolas Florentin
401df4cb77 delay_for does not exist anymore in sidekiq 5 2019-09-20 15:01:27 +02:00
Sylvain
de1cc2013a [bug] after disabling a group, its associated plans are hidden from the interface
+ validate server-side that there's no more user in the group to disable
2019-09-19 15:34:21 +02:00
Sylvain
a7dc3b2431 factorized invoice reference & order number code 2019-09-19 14:59:22 +02:00
Sylvain
2d6f5c3e81 wallet client line in accounting export + factorized accountingExportService 2019-09-19 13:57:33 +02:00
Sylvain
7d26932f6c configure accounting codes & labels for wallet clients and other means clients 2019-09-19 11:51:14 +02:00
Sylvain
cd2c8488c2 Compute the VAT per item in each invoices, instead of globally 2019-09-18 17:14:59 +02:00
Sylvain
02c7cb801f factorized footprint computation 2019-09-18 15:09:14 +02:00
Sylvain
30e7ce8377 [bug] invoices with total = 0, are marked as paid on site even if paid by card 2019-09-17 15:16:11 +02:00
Sylvain
1fa36d4029 renamed avoir_mode to payment_method 2019-09-17 14:48:06 +02:00
Sylvain
3348539fdf export labels: user name + reference + summary, only on client line. Also: handling new export parameters (decimal separator, label length, export zeros) 2019-09-17 12:35:34 +02:00
Sylvain
224b0d6dee Merge branch 'sca' into dev 2019-09-12 12:53:56 +02:00
Sylvain
78e6392f60 do not display invoice update logs in test mode + updated reservations fixtures w/o stp_invoice_id column + helper script to run tests 2019-09-11 14:29:35 +02:00
Sylvain
3320ee103b Log changes in Invoices or InvoiceItems records for better handling of accounting certification issues 2019-09-11 12:22:14 +02:00
Sylvain
f60d19fa27 allow reservations & subscriptions at price of zero 2019-09-11 11:51:04 +02:00
Sylvain
75f483a7a6 compute subscription price server-side for payments 2019-09-11 10:31:22 +02:00
Sylvain
ac0489a496 [bug] wallet usage is noted on subscription invoices even if wallet was not used + use payment confirm API for subscriptions only (sca) 2019-09-10 17:57:46 +02:00
Sylvain
4d0ac9b3ca using stp_payment_intent_id instead of stp_invoice_id on new invoices 2019-09-10 16:45:45 +02:00
Sylvain
a96050a2e9 refactor payment process for sca 2019-09-10 11:46:14 +02:00
Sylvain
e9e27663cd quick coding rules checking with rubocop 2019-09-09 18:04:31 +02:00
Nicolas Florentin
e94cf46fa4 ongoing work on sca stripe 2019-09-09 17:37:54 +02:00
Sylvain
61c1d09ac8 [bug] use vat history while regenerating invoices 2019-08-01 11:29:45 +02:00
Sylvain
38ab06840e consider vat history in accounting export + [bug] use vat history while regenerating invoices 2019-08-01 11:26:40 +02:00
Sylvain
a9ea4057f3 interface to customize accounting codes and labels 2019-07-30 16:06:35 +02:00
Sylvain
f772bc3509 api endpoint and worker to export accounting data 2019-07-30 11:43:51 +02:00
Sylvain
ab295f064d service to export invoices into a given period to CSV lines for an accounting sofware 2019-07-29 17:51:53 +02:00