#4551 (A first example of warehouse management)
by Luc Saffre · in Developers · assigned to Luc Saffre
Résumé
Concepts sous-jacents
Commentaires
- 2 ans, 9 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : @8lurry and I had a jitsi session where I "rediscovered my own work". During the session I added the storage plugin to presto, but later changed my mind: in Presto we probably won't need storage.
- 2 ans, 9 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : And indeed the links in my blog entry don't work. The plugin is called [url using.lino-framework.org/plugins/storage.html storage], not warehouse. Let's have a jitsi session because I suspect the docs to be incomplete and maybe even obsolete.
- 2 ans, 9 mois ago by Sharif Mehedi about #4551 (A first example of warehouse management) : @luc , I don't seem to have the warehouse plugin on my local repo, also it's not available on gitlab as well.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I pushed my work on this. See [url luc.lino-framework.org/blog/2023/0710.html my blog].
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I am repairing the book test suite after my changes. This morning 50 failures, now I am at 23.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : TODO: subscription invoices in noi1e are generated correctly, except that their 'invoiceable' field is empty.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Added fillers to voga. Started "inv prep test" in book (for the first time after many weeks).
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : pm prep in roger now runs again without error message. TODO: But does it have fillers?
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I now get reasonable demo data in noi1e after introducing InvoicingArea.max_date_offset and today_offset. The template for printing delivery notes is functional but just an ébauche. Next step is to restore the invoicing behaviour in Voga.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I guess that InvoicingAreas will become a model, and and there will be a daily system task that can automatically generate invoices.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : The demo_bookings fixture of invoicings is too simplistic, we cannot just run all invoicing areas once per month. service reports e.g. should get generated 1 day before the fillers.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Added a ShowSlaveTable(storage.MovementsByVoucher) action.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : TODO: show storage movements by voucher. Should debit equal to credit per voucher?
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I started the print template for delivery notes (as a copy from sales invoices). TODO: also print start and end time of the session.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Aah! Now the invoices for subscriptions are generated correctly! Next steps: restore Lino Voga using the new paradigm.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : The demo fixture simply calls compute_summary_values() on the subscriptions after creating them. TODO: But now the subscription periods are never satisfied because their invoice field is not set. Actually we don't want a single FK to invoice on SP but maybe a flag to say whether this IG wants an inv...
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Okay, Lino now generates subscription invoices (there were several missing things). TODO: but it doesn't yet do it during "pm prep" because checksummaries is run after the demo fixture for invoicing.
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Seems that checksummaries now does the right thing, it creates 2 periods for each of the 5 subscriptions in noi1e. TODO: but why doesn't Lino generate the subscription invoices?
- 3 ans, 3 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : More precisely it is not even yet sure how to set the end date of the subscription periods.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : pm prep in noi1e now creates the SubscriptionPeriod objects. Actually only one, because creating an invoice does not yet set the end date.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I read [url dev.lino-framework.org/specs/summaries.html] to refresh my memory.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : This ticket is a big avalanche! I started another idea: we need another model "subscriptions.Period". A subscription period is when a given partner is "using" a given date range of a subscription. It is a summary row (gets automatically generated by the checksummaries command). The subscription peri...
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : A nice surprise side effect: vat.VouchersByPartner now has a detail layout.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : TODO: invoices generated by a filler should not have a date range. It should be regulated by the voucher type whether invoicing_min_date and invoicing_max_date are visible or not.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : TODO: Also buy time credit before the asset gets negative.
- 3 ans, 4 mois ago by Luc Saffre in reply to Luc Saffre about #4551 (A first example of warehouse management) : No, that would increase complexity without need.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) (1 reply) : Maybe we should move the two fields invoicing_min_date and invoicing_max_date into a new model subscriptions.CoveredPeriod
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : TODO: it is now generating invoices to buy new time credit, but only once per year. That's because the subscription invoice are yearly. Maybe that's a valid reason to define a new invoicing area.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : There is still some bug in Filler.get_invoice_items(), it generates only once, when prov is None. When provisioni is negative the filler seems to be satisfied.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : TODO: look at ProvisionsByPartner, it contains unwanted entries. And I cannot find the invoices that have been generated by the fillers.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Lino just made its first invoice via a storage filler :-)
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I think that there will b a model mixin ProvisionFiller. In Jane our Service Level Agreements will inherit from this.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Uff! pm prep now creates the provisions. Next step is to also automatically create invoices for filling up a required provision.
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : My problem had two reasons: (1) a bug in lino.core.quantities with negative durations and (2) Lino stored -1 instead of -924:53 simply because max_length was 6 (and because until now, in that case, Lino stores -"1" instead of raising a ValidationError)
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Working locally. I saw the first "provisions" created by a service report. The numbers seem correct, but there is a problem with storing or formatting them... 20230614 jnl_sums is OrderedDict([(Journal #2 ('Service reports (SRV)'), Duration('84:08'))]) 20230614 b Purchased = -84.133333333333333333333...
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I am meditating in [url luc.lino-framework.org/blog/2023/0607.html my developer blog].
- 3 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : The service reports in noi1r now create storage movements for the "Development" service. Next steps: generate invoices to sell Development time credit; add ways to see how much time credit a customer has.
- 3 ans, 5 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : pm prep now passes after my local changes. Next steps will be: DeliveryNote.get_wanted_movements() must return something (a sequence of storage movements).
- 3 ans, 5 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Some days ago I started (internally) a new voucher model storage.DeliveryNote. A voucher that doesn't care about price and VAT. Now I realized that this requires me to replace the plugin settings voucher_model and voucher_item by something else. Because we now have two different voucher models that ...
- 3 ans, 5 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : Still workingn locally. The demo now generates the two journals. Next steps are: A new voucher type for service reports, showing old and new "balance" of the customer's time credit. View and print a history of the movements. Automatically generate invoices to buy new credit?
- 3 ans, 5 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I am coding locally. First use case will be Lino Noi where customers would buy services (increasing their stock of purchased services), and we would introduce a new journal "Service reports", which will decrease the stock.
- 3 ans, 5 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : I am considering the idea that the warehouse plugin might be rather minimal, and the main change to do in order to feature "warehouse management" might be to add a field "product" to ledger.Movement, and to allow movements with an empty amount and account.
- 3 ans, 8 mois ago by Luc Saffre about #4551 (A first example of warehouse management) : This is what we need in Noi for the service reports. Also in Voga it might replace the "events" of an invoice generator.
- 4 ans, 4 mois ago by Luc Saffre in reply to Luc Saffre about #4551 (A first example of warehouse management) : I started [url dev.lino-framework.org/plugins/warehouse.html].
- 4 ans, 4 mois ago by Luc Saffre about #4551 (A first example of warehouse management) (1 reply) : After a meeting with a potential customer (Verena), I started to design the warehouse plugin. First step is to write the specs.