Welcome | Get started | Dive | Contribute | Topics | Reference | Changes | More

The lino_voga.lib.trading plugin

The lino_voga.lib.trading plugin extends lino_xl.lib.trading for usage in Lino Voga.

See also invoicing in Voga.

TODO: review after 20230710

This page contains code snippets (lines starting with >>>), which are being tested during our development workflow. The following snippet initializes the demo project used throughout this page.

>>> from lino import startup
>>> startup('lino_book.projects.voga2.settings')
>>> from lino.api.doctest import *

Dependencies

>>> dd.plugins.trading
<lino_xl.lib.trading.Plugin lino_voga.lib.trading(needs ['lino.modlib.memo', 'lino_xl.lib.products', 'lino_xl.lib.vat'])>

Examples

Here are all our sales invoices:

>>> jnl = rt.models.accounting.Journal.get_by_ref('SLS')
>>> rt.show(trading.InvoicesByJournal, jnl)
...
===================== ============ =================== ============ =================================== ============== =============== ================
 No.                   Entry date   Invoiceables from   until        Partner                             Subject line   Total to pay    Workflow
--------------------- ------------ ------------------- ------------ ----------------------------------- -------------- --------------- ----------------
 26/2015               01/03/2015   01/02/2015          28/02/2015   di Rupo Didier                                     48,00           **Registered**
 25/2015               01/03/2015   01/02/2015          28/02/2015   Radermacher Guido                                  100,00          **Registered**
 24/2015               01/03/2015   01/02/2015          28/02/2015   Emonts-Gast Erna                                   64,00           **Registered**
 23/2015               01/03/2015   01/02/2015          28/02/2015   Jacobs Jacqueline                                  48,00           **Registered**
 22/2015               01/03/2015   01/02/2015          28/02/2015   Evers Eberhart                                     48,00           **Registered**
 21/2015               01/02/2015   01/01/2015          31/01/2015   Dupont Jean                                        114,00          **Registered**
 20/2015               01/02/2015   01/01/2015          31/01/2015   Radermacher Jean                                   48,00           **Registered**
 19/2015               01/02/2015   01/01/2015          31/01/2015   Radermacher Hedi                                   48,00           **Registered**
 18/2015               01/02/2015   01/01/2015          31/01/2015   Emonts-Gast Erna                                   50,00           **Registered**
 17/2015               01/02/2015   01/01/2015          31/01/2015   Meier Marie-Louise                                 48,00           **Registered**
 16/2015               01/02/2015   01/01/2015          31/01/2015   Laschet Laura                                      48,00           **Registered**
 15/2015               01/02/2015   01/01/2015          31/01/2015   Kaivers Karl                                       50,00           **Registered**
 14/2015               01/02/2015   01/01/2015          31/01/2015   Engels Edgar                                       50,00           **Registered**
 13/2015               01/02/2015   01/01/2015          31/01/2015   Dobbelstein-Demeulenaere Dorothée                  96,00           **Registered**
 12/2015               01/02/2015   01/01/2015          31/01/2015   Charlier Ulrike                                    164,00          **Registered**
 11/2015               01/01/2015   01/12/2014          31/12/2014   Dupont Jean                                        98,00           **Registered**
 10/2015               01/01/2015   01/12/2014          31/12/2014   di Rupo Didier                                     48,00           **Registered**
 9/2015                01/01/2015   01/12/2014          31/12/2014   Radermacher Guido                                  164,00          **Registered**
 8/2015                01/01/2015   01/12/2014          31/12/2014   Emonts-Gast Erna                                   50,00           **Registered**
 7/2015                01/01/2015   01/12/2014          31/12/2014   Meier Marie-Louise                                 48,00           **Registered**
 6/2015                01/01/2015   01/12/2014          31/12/2014   Kaivers Karl                                       50,00           **Registered**
 5/2015                01/01/2015   01/12/2014          31/12/2014   Jonas Josef                                        64,00           **Registered**
 4/2015                01/01/2015   01/12/2014          31/12/2014   Jacobs Jacqueline                                  48,00           **Registered**
 3/2015                01/01/2015   01/12/2014          31/12/2014   Engels Edgar                                       48,00           **Registered**
 2/2015                01/01/2015   01/12/2014          31/12/2014   Evers Eberhart                                     48,00           **Registered**
 1/2015                01/01/2015   01/12/2014          31/12/2014   Charlier Ulrike                                    148,00          **Registered**
 71/2014               01/12/2014   01/11/2014          30/11/2014   Dupont Jean                                        98,00           **Registered**
 70/2014               01/12/2014   01/11/2014          30/11/2014   Radermacher Hedi                                   48,00           **Registered**
 69/2014               01/12/2014   01/11/2014          30/11/2014   Radermacher Guido                                  50,00           **Registered**
 68/2014               01/12/2014   01/11/2014          30/11/2014   Emonts-Gast Erna                                   114,00          **Registered**
 67/2014               01/12/2014   01/11/2014          30/11/2014   Laschet Laura                                      48,00           **Registered**
 66/2014               01/12/2014   01/11/2014          30/11/2014   Kaivers Karl                                       50,00           **Registered**
 65/2014               01/12/2014   01/11/2014          30/11/2014   Engels Edgar                                       50,00           **Registered**
 64/2014               01/12/2014   01/11/2014          30/11/2014   Dobbelstein-Demeulenaere Dorothée                  96,00           **Registered**
 63/2014               01/12/2014   01/11/2014          30/11/2014   Charlier Ulrike                                    100,00          **Registered**
 62/2014               01/11/2014   01/10/2014          31/10/2014   Dupont Jean                                        64,00           **Registered**
 61/2014               01/11/2014   01/10/2014          31/10/2014   Radermacher Jean                                   48,00           **Registered**
 60/2014               01/11/2014   01/10/2014          31/10/2014   Engels Edgar                                       50,00           **Registered**
 59/2014               01/11/2014   01/10/2014          31/10/2014   Charlier Ulrike                                    64,00           **Registered**
 58/2014               01/10/2014   01/09/2014          30/09/2014   Dupont Jean                                        50,00           **Registered**
 57/2014               01/10/2014   01/09/2014          30/09/2014   Radermacher Hedi                                   48,00           **Registered**
 56/2014               01/10/2014   01/09/2014          30/09/2014   Radermacher Guido                                  64,00           **Registered**
 55/2014               01/10/2014   01/09/2014          30/09/2014   Emonts-Gast Erna                                   50,00           **Registered**
 54/2014               01/10/2014   01/09/2014          30/09/2014   Laschet Laura                                      48,00           **Registered**
 53/2014               01/10/2014   01/09/2014          30/09/2014   Jonas Josef                                        64,00           **Registered**
 52/2014               01/10/2014   01/09/2014          30/09/2014   Engels Edgar                                       50,00           **Registered**
 51/2014               01/10/2014   01/09/2014          30/09/2014   Dobbelstein-Demeulenaere Dorothée                  96,00           **Registered**
 50/2014               01/09/2014   01/08/2014          31/08/2014   Dupont Jean                                        50,00           **Registered**
 49/2014               01/09/2014   01/08/2014          31/08/2014   Emonts-Gast Erna                                   50,00           **Registered**
 48/2014               01/08/2014   01/07/2014          31/07/2014   Dupont Jean                                        114,00          **Registered**
 47/2014               01/08/2014   01/07/2014          31/07/2014   Emonts-Gast Erna                                   114,00          **Registered**
 46/2014               01/08/2014   01/07/2014          31/07/2014   Engels Edgar                                       50,00           **Registered**
 45/2014               01/08/2014   01/07/2014          31/07/2014   Charlier Ulrike                                    64,00           **Registered**
 44/2014               01/07/2014   01/06/2014          30/06/2014   Radermacher Guido                                  64,00           **Registered**
 43/2014               01/07/2014   01/06/2014          30/06/2014   Jonas Josef                                        64,00           **Registered**
 42/2014               01/07/2014   01/06/2014          30/06/2014   Engels Edgar                                       50,00           **Registered**
 41/2014               01/06/2014   01/05/2014          31/05/2014   Dupont Jean                                        50,00           **Registered**
 40/2014               01/06/2014   01/05/2014          31/05/2014   Emonts-Gast Erna                                   50,00           **Registered**
 39/2014               01/06/2014   01/05/2014          31/05/2014   Engels Edgar                                       50,00           **Registered**
 38/2014               01/05/2014   01/04/2014          30/04/2014   Dupont Jean                                        50,00           **Registered**
 37/2014               01/05/2014   01/04/2014          30/04/2014   Emonts-Gast Erna                                   50,00           **Registered**
 36/2014               01/04/2014   01/03/2014          31/03/2014   Dupont Jean                                        64,00           **Registered**
 35/2014               01/04/2014   01/03/2014          31/03/2014   Emonts-Gast Erna                                   64,00           **Registered**
 34/2014               01/04/2014   01/03/2014          31/03/2014   Engels Edgar                                       50,00           **Registered**
 33/2014               01/03/2014   01/02/2014          28/02/2014   Dupont Jean                                        50,00           **Registered**
 32/2014               01/03/2014   01/02/2014          28/02/2014   Emonts-Gast Erna                                   50,00           **Registered**
 31/2014               01/02/2014   01/01/2014          31/01/2014   Dupont Jean                                        50,00           **Registered**
 30/2014               01/02/2014   01/01/2014          31/01/2014   Emonts-Gast Erna                                   50,00           **Registered**
 29/2014               01/02/2014   01/01/2014          31/01/2014   Engels Edgar                                       50,00           **Registered**
 28/2014               01/01/2014                       31/12/2013   Jeanémart Jérôme                                   20,00           **Registered**
 27/2014               01/01/2014                       31/12/2013   Brecht Bernd                                       295,00          **Registered**
 26/2014               01/01/2014                       31/12/2013   Lahm Lisa                                          240,00          **Registered**
 25/2014               01/01/2014                       31/12/2013   Dupont Jean                                        442,00          **Registered**
 24/2014               01/01/2014                       31/12/2013   Ärgerlich Erna                                     80,00           **Registered**
 23/2014               01/01/2014                       31/12/2013   di Rupo Didier                                     68,00           **Registered**
 22/2014               01/01/2014                       31/12/2013   Radermacher Jean                                   96,00           **Registered**
 21/2014               01/01/2014                       31/12/2013   Radermacher Hedi                                   248,00          **Registered**
 20/2014               01/01/2014                       31/12/2013   Radermacher Guido                                  214,00          **Registered**
 19/2014               01/01/2014                       31/12/2013   Radermacher Edgard                                 48,00           **Registered**
 18/2014               01/01/2014                       31/12/2013   Radermacher Christian                              395,00          **Registered**
 17/2014               01/01/2014                       31/12/2013   Emonts-Gast Erna                                   486,00          **Registered**
 16/2014               01/01/2014                       31/12/2013   Meier Marie-Louise                                 324,00          **Registered**
 15/2014               01/01/2014                       31/12/2013   Leffin Josefine                                    20,00           **Registered**
 14/2014               01/01/2014                       31/12/2013   Laschet Laura                                      296,00          **Registered**
 13/2014               01/01/2014                       31/12/2013   Kaivers Karl                                       180,00          **Registered**
 12/2014               01/01/2014                       31/12/2013   Jonas Josef                                        64,00           **Registered**
 11/2014               01/01/2014                       31/12/2013   Jacobs Jacqueline                                  678,00          **Registered**
 10/2014               01/01/2014                       31/12/2013   Hilgers Hildegard                                  80,00           **Registered**
 9/2014                01/01/2014                       31/12/2013   Engels Edgar                                       426,00          **Registered**
 8/2014                01/01/2014                       31/12/2013   Emonts Daniel                                      240,00          **Registered**
 7/2014                01/01/2014                       31/12/2013   Evers Eberhart                                     48,00           **Registered**
 6/2014                01/01/2014                       31/12/2013   Dobbelstein-Demeulenaere Dorothée                  116,00          **Registered**
 5/2014                01/01/2014                       31/12/2013   Demeulenaere Dorothée                              60,00           **Registered**
 4/2014                01/01/2014                       31/12/2013   Dericum Daniel                                     80,00           **Registered**
 3/2014                01/01/2014                       31/12/2013   Charlier Ulrike                                    356,00          **Registered**
 2/2014                01/01/2014                       31/12/2013   Bastiaensen Laurent                                20,00           **Registered**
 1/2014                01/01/2014                       31/12/2013   Altenberg Hans                                     295,00          **Registered**
 **Total (97 rows)**                                                                                                    **10 401,00**
===================== ============ =================== ============ =================================== ============== =============== ================

The lino_xl.lib.trading.DueInvoices table shows a list of invoices that aren’t (completeley) paid. Example see cosi1 : A Lino Così for Belgium (DE).

Printing invoices

We take a sales invoice, clear the cache, ask Lino to print it and check whether we get the expected response.

>>> ses = rt.login("robin")
>>> dd.translation.activate('en')
>>> obj = trading.VatProductInvoice.objects.all()[0]
>>> obj.clear_cache()
>>> d = ses.run(obj.do_print)
...
appy.pod render .../trading/config/trading/VatProductInvoice/Default.odt -> .../media/cache/appypdf/SLS-2014-1.pdf
>>> d['success']
True
>>> print(d['message'])
Your printable document (<a href="/media/cache/appypdf/SLS-2014-1.pdf">SLS-2014-1.pdf</a>) should now open in a new browser window. If it doesn't, please ask your system administrator.

Trading rules

>>> rt.show(trading.TradingRules)
==== =================================== ============ =================== ======================================= ============
 ID   Partner                             Trade type   Invoicing address   Payment term                            Paper type
---- ----------------------------------- ------------ ------------------- --------------------------------------- ------------
 1    Arens Annette                       Sales                            Payment end of month
 2    Faymonville Luc                     Sales        Engels Edgar        Payment end of month
 3    Radermacher Alfons                  Sales        Emonts-Gast Erna    Payment 90 days after invoice date
 4    Martelaer Mark                      Sales        Dupont Jean         Payment in advance
 5    Bestbank                            Sales                            Payment in advance
 6    Rumma & Ko OÜ                       Sales                            Payment seven days after invoice date
 7    Bäckerei Ausdemwald                 Sales                            Payment ten days after invoice date
 8    Bäckerei Mießen                     Sales                            Payment 30 days after invoice date
 9    Bäckerei Schmitz                    Sales                            Payment 60 days after invoice date
 10   Garage Mergelsberg                  Sales                            Payment 90 days after invoice date
 11   Donderweer BV                       Sales                            Payment end of month
 12   Van Achter NV                       Sales                            Prepayment 30%
 13   Hans Flott & Co                     Sales                            Payment in advance
 14   Bernd Brechts Bücherladen           Sales                            Payment seven days after invoice date
 15   Reinhards Baumschule                Sales                            Payment ten days after invoice date
 16   Moulin Rouge                        Sales                            Payment 30 days after invoice date
 17   Auto École Verte                    Sales                            Payment 60 days after invoice date
 18   Arens Andreas                       Sales                            Payment 90 days after invoice date
 19   Altenberg Hans                      Sales                            Prepayment 30%
 20   Ausdemwald Alfons                   Sales                            Payment in advance
 21   Bastiaensen Laurent                 Sales                            Payment seven days after invoice date
 22   Collard Charlotte                   Sales                            Payment ten days after invoice date
 23   Charlier Ulrike                     Sales                            Payment 30 days after invoice date
 24   Chantraine Marc                     Sales                            Payment 60 days after invoice date
 25   Dericum Daniel                      Sales                            Payment 90 days after invoice date
 26   Demeulenaere Dorothée               Sales                            Payment end of month
 27   Dobbelstein-Demeulenaere Dorothée   Sales                            Prepayment 30%
 28   Dobbelstein Dorothée                Sales                            Payment in advance
 29   Ernst Berta                         Sales                            Payment seven days after invoice date
 30   Evertz Bernd                        Sales                            Payment ten days after invoice date
 31   Evers Eberhart                      Sales                            Payment 30 days after invoice date
 32   Emonts Daniel                       Sales                            Payment 60 days after invoice date
 33   Engels Edgar                        Sales                            Payment 90 days after invoice date
 34   Gernegroß Germaine                  Sales                            Prepayment 30%
 35   Groteclaes Gregory                  Sales                            Payment in advance
 36   Hilgers Hildegard                   Sales                            Payment seven days after invoice date
 37   Hilgers Henri                       Sales                            Payment ten days after invoice date
 38   Ingels Irene                        Sales                            Payment 30 days after invoice date
 39   Jansen Jérémy                       Sales                            Payment 60 days after invoice date
 40   Jacobs Jacqueline                   Sales                            Payment 90 days after invoice date
 41   Johnen Johann                       Sales                            Payment end of month
 42   Jonas Josef                         Sales                            Prepayment 30%
 43   Jousten Jan                         Sales                            Payment in advance
 44   Kaivers Karl                        Sales                            Payment seven days after invoice date
 45   Lambertz Guido                      Sales                            Payment ten days after invoice date
 46   Laschet Laura                       Sales                            Payment 30 days after invoice date
 47   Lazarus Line                        Sales                            Payment 60 days after invoice date
 48   Leffin Josefine                     Sales                            Payment 90 days after invoice date
 49   Malmendier Marc                     Sales                            Payment end of month
 50   Meessen Melissa                     Sales                            Prepayment 30%
 51   Mießen Michael                      Sales                            Payment in advance
 52   Meier Marie-Louise                  Sales                            Payment seven days after invoice date
 53   Emonts Erich                        Sales                            Payment ten days after invoice date
 54   Emontspool Erwin                    Sales                            Payment 30 days after invoice date
 55   Emonts-Gast Erna                    Sales                            Payment 60 days after invoice date
 56   Radermacher Berta                   Sales                            Payment end of month
 57   Radermacher Christian               Sales                            Prepayment 30%
 58   Radermacher Daniela                 Sales                            Payment in advance
 59   Radermacher Edgard                  Sales                            Payment seven days after invoice date
 60   Radermacher Fritz                   Sales                            Payment ten days after invoice date
 61   Radermacher Guido                   Sales                            Payment 30 days after invoice date
 62   Radermacher Hans                    Sales                            Payment 60 days after invoice date
 63   Radermacher Hedi                    Sales                            Payment 90 days after invoice date
 64   Radermacher Inge                    Sales                            Payment end of month
 65   Radermacher Jean                    Sales                            Prepayment 30%
 66   di Rupo Didier                      Sales                            Payment in advance
 67   da Vinci David                      Sales                            Payment seven days after invoice date
 68   van Veen Vincent                    Sales                            Payment ten days after invoice date
 69   Õunapuu Õie                         Sales                            Payment 30 days after invoice date
 70   Östges Otto                         Sales                            Payment 60 days after invoice date
 71   Ärgerlich Erna                      Sales                            Payment 90 days after invoice date
 72   Bodard Bernard                      Sales                            Payment end of month
 73   Dupont Jean                         Sales                            Prepayment 30%
 74   Radermecker Rik                     Sales                            Payment seven days after invoice date
 75   Vandenmeulenbos Marie-Louise        Sales                            Payment ten days after invoice date
 76   Eierschal Emil                      Sales                            Payment 30 days after invoice date
 77   Lahm Lisa                           Sales                            Payment 60 days after invoice date
 78   Brecht Bernd                        Sales                            Payment 90 days after invoice date
 79   Keller Karl                         Sales                            Payment end of month
 80   Dubois Robin                        Sales                            Prepayment 30%
 81   Denon Denis                         Sales                            Payment in advance
 82   Jeanémart Jérôme                    Sales                            Payment seven days after invoice date
==== =================================== ============ =================== ======================================= ============