summary refs log tree commit diff
path: root/gnu/packages/tryton.scm
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2021-02-11 19:12:36 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2021-02-11 19:12:36 +0100
commitabd318ff4b741eac11227778bf2e569ee7b186ff (patch)
tree6abc09a3e01914d891124e9d0dda0f4e0979c485 /gnu/packages/tryton.scm
parent71cb6dfe10540718eb337e7e2248fc809394894b (diff)
parentc5dc87fee840ad620b01637dc4f9ffa5efc9270c (diff)
downloadguix-abd318ff4b741eac11227778bf2e569ee7b186ff.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/tryton.scm')
-rw-r--r--gnu/packages/tryton.scm640
1 files changed, 316 insertions, 324 deletions
diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm
index 3809b986d5..e9484aa487 100644
--- a/gnu/packages/tryton.scm
+++ b/gnu/packages/tryton.scm
@@ -37,16 +37,16 @@
   #:use-module (guix utils)
   #:use-module (guix build-system python))
 
-(define-public python-trytond
+(define-public trytond
   (package
-    (name "python-trytond")
-    (version "5.6.5")
+    (name "trytond")
+    (version "5.8.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "trytond" version))
        (sha256
-        (base32 "1n76ccv2x5csz80p42dav8rhzg2m14wdi3bj1pizhw8x2hxxfwx3"))))
+        (base32 "1h1x0cmmmxvjclbglvvxkv634jw6av5ilymbix1lln5lq0gd39yy"))))
     (build-system python-build-system)
     (inputs
      `(("python-dateutil" ,python-dateutil)
@@ -71,23 +71,26 @@
              (setenv "HOME" "/tmp")
              #t)))))
     (home-page "https://www.tryton.org/")
-    (synopsis "Server component of Tryton")
+    (synopsis "Tryton Server")
     (description "Tryton is a three-tier high-level general purpose
 application platform using PostgreSQL as its main database engine.  It is the
 core base of a complete business solution providing modularity, scalability
 and security.")
     (license license:gpl3+)))
 
+(define-public python-trytond
+  (deprecated-package "python-trytond" trytond))
+
 (define-public tryton
   (package
     (name "tryton")
-    (version "5.6.3")
+    (version "5.8.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "tryton" version))
        (sha256
-        (base32 "1dghr6x5wga3sizjvj261xndpl38si5hwiz3llm2bhmg33nplfh7"))))
+        (base32 "0kr5ngmmldgb9a9d5ylkmppy5p8vlf9d8iwv9lnci2fyxg2705wh"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -114,21 +117,47 @@ and security.")
        ("python-pycairo" ,python-pycairo)
        ("python-pygobject" ,python-pygobject)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Client component of Tryton")
+    (synopsis "Tryton Client")
     (description
-     "This package is the client component of Tryton.")
+     "This package provides the Tryton GTK client.")
     (license license:gpl3+)))
 
-(define-public python-trytond-country
+(define-public python-proteus
   (package
-    (name "python-trytond-country")
-    (version "5.6.0")
+    (name "python-proteus")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_country" version))
+       (uri (pypi-uri "proteus" version))
        (sha256
-        (base32 "0k1xw5r2pfd5mvvg3pn3vavwjwpgmm5i6nsc8x421znk4gvvns78"))))
+        (base32 "03z5ssvjcvxv1p10y7c1y0jah0k3yyc9hlyi7xax98sfqyk13bnw"))))
+    (build-system python-build-system)
+    ;; Tests require python-trytond-party which requires python-proteus.
+    (arguments
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("python-dateutil" ,python-dateutil)))
+    (home-page "http://www.tryton.org/")
+    (synopsis "Library to access a Tryton server as a client")
+    (description
+     "This package provides a library to access Tryton server as a client.")
+    (license license:lgpl3+)))
+
+;;;
+;;;  Tryton modules - please sort alphabetically
+;;;
+
+(define-public python-trytond-account
+  (package
+    (name "python-trytond-account")
+    (version "5.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "trytond_account" version))
+       (sha256
+        (base32 "16ny67vcnxk9ngcxd56cfixm441vs9jxv3apmb16xsi47yk2xd7w"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -136,46 +165,50 @@ and security.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               ;; Doctest contains one test that requires internet access.
-               (invoke "python" runtest "-m" "country" "--no-doctest")))))))
+               (invoke "python" runtest "-m" "account")))))))
     (native-inputs
-     `(("python" ,python)
-       ("python-dateutil" ,python-dateutil)
-       ("python-genshi" ,python-genshi)
+     `(("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
        ("python-passlib" ,python-passlib)
        ("python-polib" ,python-polib)
        ("python-proteus" ,python-proteus)
        ("python-relatorio" ,python-relatorio)
-       ("python-sql" ,python-sql)
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-pycountry" ,python-pycountry)
-       ("python-trytond" ,python-trytond)))
-    (home-page "http://www.tryton.org/")
-    (synopsis "Tryton module with countries")
+     `(("python-dateutil" ,python-dateutil)
+       ("python-simpleeval" ,python-simpleeval)
+       ("python-sql" ,python-sql)
+       ("python-trytond-company"
+        ,python-trytond-company)
+       ("python-trytond-currency"
+        ,python-trytond-currency)
+       ("python-trytond-party" ,python-trytond-party)
+       ("trytond" ,trytond)))
+    (home-page "https://www.tryton.org/")
+    (synopsis "Tryton module for accounting")
     (description
-     "This package provides a Tryton module with countries.")
+     "This package provides a Tryton module that defines the fundamentals for
+most of accounting needs.")
     (license license:gpl3+)))
 
-(define-public python-trytond-party
+(define-public python-trytond-account-invoice
   (package
-    (name "python-trytond-party")
-    (version "5.6.0")
+    (name "python-trytond-account-invoice")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_party" version))
+       (uri (pypi-uri "trytond_account_invoice" version))
        (sha256
-        (base32 "0wh7g1g67g4vwxm797ra6fkfvmd3w77vl7nxj76y856cy217gbzp"))))
+        (base32 "0drccambg6855p7ai8654c7f9v85jzwicwpxmagyrr09qz6qzgcz"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -183,18 +216,15 @@ and security.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               ;; Doctest 'scenario_party_phone_number.rst' fails.
-               (invoke "python" runtest "-m" "party" "--no-doctest")))))))
+               (invoke "python" runtest "-m" "account_invoice")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
-       ("python-genshi" ,python-genshi)
+     `(("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
        ("python-passlib" ,python-passlib)
@@ -204,27 +234,39 @@ and security.")
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-sql" ,python-sql)
-       ("python-stnum" ,python-stdnum)
-       ("python-trytond" ,python-trytond)
-       ("python-trytond-country" ,python-trytond-country)))
+     `(("python-dateutil" ,python-dateutil)
+       ("python-sql" ,python-sql)
+       ("python-trytond-account"
+        ,python-trytond-account)
+       ("python-trytond-account-product"
+        ,python-trytond-account-product)
+       ("python-trytond-company"
+        ,python-trytond-company)
+       ("python-trytond-currency"
+        ,python-trytond-currency)
+       ("python-trytond-party" ,python-trytond-party)
+       ("python-trytond-product"
+        ,python-trytond-product)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for parties and addresses")
+    (synopsis "Tryton module for invoicing")
     (description
-     "This package provides a Tryton module for (counter)parties and
-addresses.")
+     "This package provides a Tryton module that adds the invoice, payment
+term.")
     (license license:gpl3+)))
 
-(define-public python-trytond-currency
+(define-public python-trytond-account-invoice-stock
   (package
-    (name "python-trytond-currency")
-    (version "5.6.0")
+    (name "python-trytond-account-invoice-stock")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_currency" version))
+       (uri (pypi-uri
+             "trytond_account_invoice_stock"
+             version))
        (sha256
-        (base32 "1x6ynxpbafjpky5vfir9favijj6v5gl62szshladlx14ng6qgm68"))))
+        (base32 "02m6ikcc38ac41ddzg5xp5l9jz0k6j7j1g2xa62ki4v093yn4z5v"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -232,47 +274,50 @@ addresses.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "currency")))))))
+               (invoke "python" runtest "-m" "account_invoice_stock")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
-       ("python-forex-python" ,python-forex-python)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
        ("python-passlib" ,python-passlib)
        ("python-polib" ,python-polib)
        ("python-proteus" ,python-proteus)
-       ("python-pycountry" ,python-pycountry)
        ("python-relatorio" ,python-relatorio)
+       ("python-sql" ,python-sql)
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-sql" ,python-sql)
-       ("python-trytond" ,python-trytond)))
+     `(("python-trytond-account-invoice"
+        ,python-trytond-account-invoice)
+       ("python-trytond-product"
+        ,python-trytond-product)
+       ("python-trytond-stock" ,python-trytond-stock)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module with currencies")
+    (synopsis "Tryton module to link stock and invoice")
     (description
-     "This package provides a Tryton module that defines the concepts of
-currency and rate.")
+     "This package provides a Tryton module that adds link between invoice
+lines and stock moves.  The unit price of the stock move is updated with the
+average price of the posted invoice lines that are linked to it.")
     (license license:gpl3+)))
 
-(define-public python-trytond-company
+(define-public python-trytond-account-product
   (package
-    (name "python-trytond-company")
-    (version "5.6.0")
+    (name "python-trytond-account-product")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_company" version))
+       (uri (pypi-uri "trytond_account_product" version))
        (sha256
-        (base32 "0fa2yswfal1fbmm0ml845lm6bwcm65fln6s1xq1wqi17xqbbx44x"))))
+        (base32 "10bpbkkmllbh9lm5ajydmc5nvqm9bbdn9rmm03jqgik23s5kyx2z"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -280,16 +325,15 @@ currency and rate.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "company")))))))
+               (invoke "python" runtest "-m" "account_product")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -301,27 +345,32 @@ currency and rate.")
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-trytond" ,python-trytond)
-       ("python-trytond-currency"
-        ,python-trytond-currency)
-       ("python-trytond-party" ,python-trytond-party)))
+     `(("python-trytond-account"
+        ,python-trytond-account)
+       ("python-trytond-analytic-account"
+        ,python-trytond-analytic-account)
+       ("python-trytond-company"
+        ,python-trytond-company)
+       ("python-trytond-product"
+        ,python-trytond-product)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module with companies and employees")
+    (synopsis "Tryton module to add accounting on product")
     (description
-     "This package provides a Tryton module that defines the concepts of
-company and employee and extend the user model.")
+     "This package provides a Tryton module that adds accounting on product
+and category.")
     (license license:gpl3+)))
 
-(define-public python-trytond-product
+(define-public python-trytond-analytic-account
   (package
-    (name "python-trytond-product")
-    (version "5.6.1")
+    (name "python-trytond-analytic-account")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_product" version))
+       (uri (pypi-uri "trytond_analytic_account" version))
        (sha256
-        (base32 "0k1sw1jfgsm9qhyhv4lzama31db6ccjx5f2a7xw96ypflfl9f1xz"))))
+        (base32 "10rn2rf1ji7d1gxmgca368yvabql1ahklqg7p8sh5bl79vn5qx5x"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -329,16 +378,15 @@ company and employee and extend the user model.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "product")))))))
+               (invoke "python" runtest "-m" "analytic_account")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -350,27 +398,31 @@ company and employee and extend the user model.")
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
      `(("python-sql" ,python-sql)
-       ("python-stdnum" ,python-stdnum)
-       ("python-trytond" ,python-trytond)
+       ("python-trytond-account"
+        ,python-trytond-account)
        ("python-trytond-company"
-        ,python-trytond-company)))
+        ,python-trytond-company)
+       ("python-trytond-currency"
+        ,python-trytond-currency)
+       ("python-trytond-party" ,python-trytond-party)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module with products")
+    (synopsis "Tryton module for analytic accounting")
     (description
-     "This package provides a Tryton module that defines two concepts: Product
-Template and Product.")
+     "This package provides a Tryton module that adds the fundamentals
+required to analyse accounting using multiple different axes.")
     (license license:gpl3+)))
 
-(define-public python-trytond-account
+(define-public python-trytond-company
   (package
-    (name "python-trytond-account")
-    (version "5.6.1")
+    (name "python-trytond-company")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_account" version))
+       (uri (pypi-uri "trytond_company" version))
        (sha256
-        (base32 "17q0cxp3vkymbv62ir4c6kg9y8lx8xvz30p0asrbsnbgwl6sjm30"))))
+        (base32 "1bwy2rkgfw32cwhq5fh3rpy7bx425h44ap10i9kjx5ak86bfnpz9"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -378,15 +430,15 @@ Template and Product.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "account")))))))
+               (invoke "python" runtest "-m" "company")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -394,35 +446,31 @@ Template and Product.")
        ("python-polib" ,python-polib)
        ("python-proteus" ,python-proteus)
        ("python-relatorio" ,python-relatorio)
+       ("python-sql" ,python-sql)
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-dateutil" ,python-dateutil)
-       ("python-simpleeval" ,python-simpleeval)
-       ("python-sql" ,python-sql)
-       ("python-trytond" ,python-trytond)
-       ("python-trytond-company"
-        ,python-trytond-company)
-       ("python-trytond-currency"
+     `(("python-trytond-currency"
         ,python-trytond-currency)
-       ("python-trytond-party" ,python-trytond-party)))
+       ("python-trytond-party" ,python-trytond-party)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for accounting")
+    (synopsis "Tryton module with companies and employees")
     (description
-     "This package provides a Tryton module that defines the fundamentals for
-most of accounting needs.")
+     "This package provides a Tryton module that defines the concepts of
+company and employee and extend the user model.")
     (license license:gpl3+)))
 
-(define-public python-trytond-analytic-account
+(define-public python-trytond-country
   (package
-    (name "python-trytond-analytic-account")
-    (version "5.6.0")
+    (name "python-trytond-country")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_analytic_account" version))
+       (uri (pypi-uri "trytond_country" version))
        (sha256
-        (base32 "02hv3mmhadz248vy4azrw8rs2mwgsixd4cnzsm82z15gjmfxl34q"))))
+        (base32 "1lkspk5w5pb0gg2h27zb7vwcj993gkm1f84qdxmqlpkc8raqvicj"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -430,16 +478,16 @@ most of accounting needs.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "analytic_account")))))))
+               ;; Doctest contains one test that requires internet access.
+               (invoke "python" runtest "-m" "country" "--no-doctest")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -447,35 +495,28 @@ most of accounting needs.")
        ("python-polib" ,python-polib)
        ("python-proteus" ,python-proteus)
        ("python-relatorio" ,python-relatorio)
+       ("python-sql" ,python-sql)
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-sql" ,python-sql)
-       ("python-trytond" ,python-trytond)
-       ("python-trytond-account"
-        ,python-trytond-account)
-       ("python-trytond-company"
-        ,python-trytond-company)
-       ("python-trytond-currency"
-        ,python-trytond-currency)
-       ("python-trytond-party" ,python-trytond-party)))
-    (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for analytic accounting")
+     `(("python-pycountry" ,python-pycountry)
+       ("trytond" ,trytond)))
+    (home-page "http://www.tryton.org/")
+    (synopsis "Tryton module with countries")
     (description
-     "This package provides a Tryton module that adds the fundamentals
-required to analyse accounting using multiple different axes.")
+     "This package provides a Tryton module with countries.")
     (license license:gpl3+)))
 
-(define-public python-trytond-account-product
+(define-public python-trytond-currency
   (package
-    (name "python-trytond-account-product")
-    (version "5.6.0")
+    (name "python-trytond-currency")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_account_product" version))
+       (uri (pypi-uri "trytond_currency" version))
        (sha256
-        (base32 "0iyk07adixf37jlvn7n27ac12hk23zx09w4s78dr9sfp0lsf8vv8"))))
+        (base32 "0b5p7ibil7nlsv7f31j69rka4xj5za798262algx7xa88a6h7mmx"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -483,53 +524,46 @@ required to analyse accounting using multiple different axes.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "account_product")))))))
+               (invoke "python" runtest "-m" "currency")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
+       ("python-forex-python" ,python-forex-python)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
        ("python-passlib" ,python-passlib)
        ("python-polib" ,python-polib)
        ("python-proteus" ,python-proteus)
+       ("python-pycountry" ,python-pycountry)
        ("python-relatorio" ,python-relatorio)
-       ("python-sql" ,python-sql)
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-trytond" ,python-trytond)
-       ("python-trytond-account"
-        ,python-trytond-account)
-       ("python-trytond-analytic-account"
-        ,python-trytond-analytic-account)
-       ("python-trytond-company"
-        ,python-trytond-company)
-       ("python-trytond-product"
-        ,python-trytond-product)))
+     `(("python-sql" ,python-sql)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module to add accounting on product")
+    (synopsis "Tryton module with currencies")
     (description
-     "This package provides a Tryton module that adds accounting on product
-and category.")
+     "This package provides a Tryton module that defines the concepts of
+currency and rate.")
     (license license:gpl3+)))
 
-(define-public python-trytond-account-invoice
+(define-public python-trytond-party
   (package
-    (name "python-trytond-account-invoice")
-    (version "5.6.1")
+    (name "python-trytond-party")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_account_invoice" version))
+       (uri (pypi-uri "trytond_party" version))
        (sha256
-        (base32 "0ic5zghg50m6jwdr88y4vgzy58g1h17b63sbhh61brys1cp2dxhc"))))
+        (base32 "1hapfq7ip99s4qp9xra1m40q4n379p9pmfnz2x4ggd79ss76bghc"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -537,15 +571,16 @@ and category.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "account_invoice")))))))
+               ;; Doctest 'scenario_party_phone_number.rst' fails.
+               (invoke "python" runtest "-m" "party" "--no-doctest")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -556,37 +591,27 @@ and category.")
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-dateutil" ,python-dateutil)
-       ("python-sql" ,python-sql)
-       ("python-trytond" ,python-trytond)
-       ("python-trytond-account"
-        ,python-trytond-account)
-       ("python-trytond-account-product"
-        ,python-trytond-account-product)
-       ("python-trytond-company"
-        ,python-trytond-company)
-       ("python-trytond-currency"
-        ,python-trytond-currency)
-       ("python-trytond-party" ,python-trytond-party)
-       ("python-trytond-product"
-        ,python-trytond-product)))
+     `(("python-sql" ,python-sql)
+       ("python-stnum" ,python-stdnum)
+       ("python-trytond-country" ,python-trytond-country)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for invoicing")
+    (synopsis "Tryton module for parties and addresses")
     (description
-     "This package provides a Tryton module that adds the invoice, payment
-term.")
+     "This package provides a Tryton module for (counter)parties and
+addresses.")
     (license license:gpl3+)))
 
-(define-public python-trytond-stock
+(define-public python-trytond-product
   (package
-    (name "python-trytond-stock")
-    (version "5.6.1")
+    (name "python-trytond-product")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_stock" version))
+       (uri (pypi-uri "trytond_product" version))
        (sha256
-        (base32 "13m57absscks2advpjz0mmmp6c0c4ksf9aln1brqyd0js38arw76"))))
+        (base32 "0x18ngpjyrdwjwg17bz98jph4jv5gcv0qc0p2kxpam4lqsy34ic2"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -594,15 +619,15 @@ term.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "stock")))))))
+               (invoke "python" runtest "-m" "product")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -613,35 +638,28 @@ term.")
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-simpleeval" ,python-simpleeval)
-       ("python-sql" ,python-sql)
-       ("python-trytond" ,python-trytond)
+     `(("python-sql" ,python-sql)
+       ("python-stdnum" ,python-stdnum)
        ("python-trytond-company"
         ,python-trytond-company)
-       ("python-trytond-currency"
-        ,python-trytond-currency)
-       ("python-trytond-party" ,python-trytond-party)
-       ("python-trytond-product"
-        ,python-trytond-product)))
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for stock and inventory")
+    (synopsis "Tryton module with products")
     (description
-     "This package provides a Tryton module that defines the fundamentals for
-all stock management situations: Locations where products are stored, moves
-between these locations, shipments for product arrivals and departures and
-inventory to control and update stock levels.")
+     "This package provides a Tryton module that defines two concepts: Product
+Template and Product.")
     (license license:gpl3+)))
 
-(define-public python-trytond-stock-lot
+(define-public python-trytond-purchase
   (package
-    (name "python-trytond-stock-lot")
-    (version "5.6.0")
+    (name "python-trytond-purchase")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_stock_lot" version))
+       (uri (pypi-uri "trytond_purchase" version))
        (sha256
-        (base32 "0a0kc8dyx2zw244dhq6lm2jdp1kzpllhdhrmx7kkr9cjhp58rqip"))))
+        (base32 "0na74zijj46b12gypy9si3las02a96rh5ygl503c7razha61g1b0"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -649,16 +667,15 @@ inventory to control and update stock levels.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "stock_lot")))))))
+               (invoke "python" runtest "-m" "purchase")))))))
     (native-inputs
-     `(("python" ,python)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -666,32 +683,43 @@ inventory to control and update stock levels.")
        ("python-polib" ,python-polib)
        ("python-proteus" ,python-proteus)
        ("python-relatorio" ,python-relatorio)
-       ("python-sql" ,python-sql)
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-trytond" ,python-trytond)
+     `(("python-sql" ,python-sql)
+       ("python-trytond-account"
+        ,python-trytond-account)
+       ("python-trytond-account-invoice"
+        ,python-trytond-account-invoice)
+       ("python-trytond-account-invoice-stock"
+        ,python-trytond-account-invoice-stock)
+       ("python-trytond-account-product"
+        ,python-trytond-account-product)
+       ("python-trytond-company"
+        ,python-trytond-company)
+       ("python-trytond-currency"
+        ,python-trytond-currency)
+       ("python-trytond-party" ,python-trytond-party)
        ("python-trytond-product"
         ,python-trytond-product)
-       ("python-trytond-stock" ,python-trytond-stock)))
+       ("python-trytond-stock" ,python-trytond-stock)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for lot of products")
+    (synopsis "Tryton module for purchase")
     (description
-     "This package provides a Tryton module that defines lot of products.")
+     "This package provides a Tryton module that defines the Purchase model.")
     (license license:gpl3+)))
 
-(define-public python-trytond-account-invoice-stock
+(define-public python-trytond-purchase-request
   (package
-    (name "python-trytond-account-invoice-stock")
-    (version "5.6.0")
+    (name "python-trytond-purchase-request")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri
-             "trytond_account_invoice_stock"
-             version))
+       (uri (pypi-uri "trytond_purchase_request" version))
        (sha256
-        (base32 "1ky39ab8ax7hla5d9qgmp0p4ra4q6n29xc3wba5qdw3ij8wkn96f"))))
+        (base32 "1m92snnvgisnv083nml6cz5qgnfdg539rd5bwg3lqrknm7343w16"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -699,16 +727,17 @@ inventory to control and update stock levels.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "account_invoice_stock")))))))
+               ;; Doctest 'scenario_purchase_request.rst' fails.
+               (invoke "python" runtest
+                       "-m" "purchase_request" "--no-doctest")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -720,30 +749,29 @@ inventory to control and update stock levels.")
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-trytond" ,python-trytond)
-       ("python-trytond-account-invoice"
-        ,python-trytond-account-invoice)
-       ("python-trytond-product"
+     `(("python-trytond-product"
         ,python-trytond-product)
-       ("python-trytond-stock" ,python-trytond-stock)))
+       ("python-trytond-purchase"
+        ,python-trytond-purchase)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module to link stock and invoice")
+    (synopsis "Tryton module for purchase requests")
     (description
-     "This package provides a Tryton module that adds link between invoice
-lines and stock moves.  The unit price of the stock move is updated with the
-average price of the posted invoice lines that are linked to it.")
+     "This package provides a Tryton module that introduces the concept of
+Purchase Requests which are central points to collect purchase requests
+generated by other process from Tryton.")
     (license license:gpl3+)))
 
-(define-public python-trytond-stock-supply
+(define-public python-trytond-stock
   (package
-    (name "python-trytond-stock-supply")
-    (version "5.6.1")
+    (name "python-trytond-stock")
+    (version "5.8.2")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_stock_supply" version))
+       (uri (pypi-uri "trytond_stock" version))
        (sha256
-        (base32 "0lw7qrg58k5pjpp3nz73rmlm8v086l49ri31ci75calm552zpfay"))))
+        (base32 "0yb8kd3alwqkivrlpx0ni4jxv3x14i37lmwism9yi81xwchyrcjk"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -751,17 +779,15 @@ average price of the posted invoice lines that are linked to it.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "stock_supply")))))))
+               (invoke "python" runtest "-m" "stock")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
-       ("python-genshi" ,python-genshi)
+     `(("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
        ("python-passlib" ,python-passlib)
@@ -771,35 +797,35 @@ average price of the posted invoice lines that are linked to it.")
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-sql" ,python-sql)
-       ("python-trytond" ,python-trytond)
-       ("python-trytond-account"
-        ,python-trytond-account)
+     `(("python-simpleeval" ,python-simpleeval)
+       ("python-sql" ,python-sql)
+       ("python-trytond-company"
+        ,python-trytond-company)
+       ("python-trytond-currency"
+        ,python-trytond-currency)
        ("python-trytond-party" ,python-trytond-party)
        ("python-trytond-product"
         ,python-trytond-product)
-       ("python-trytond-purchase"
-        ,python-trytond-purchase)
-       ("python-trytond-purchase-request"
-        ,python-trytond-purchase-request)
-       ("python-trytond-stock" ,python-trytond-stock)))
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for stock supply")
+    (synopsis "Tryton module for stock and inventory")
     (description
-     "This package provides a Tryton module that adds automatic supply
-mechanisms and introduces the concepts of order point.")
+     "This package provides a Tryton module that defines the fundamentals for
+all stock management situations: Locations where products are stored, moves
+between these locations, shipments for product arrivals and departures and
+inventory to control and update stock levels.")
     (license license:gpl3+)))
 
-(define-public python-trytond-purchase
+(define-public python-trytond-stock-lot
   (package
-    (name "python-trytond-purchase")
-    (version "5.6.0")
+    (name "python-trytond-stock-lot")
+    (version "5.8.2")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_purchase" version))
+       (uri (pypi-uri "trytond_stock_lot" version))
        (sha256
-        (base32 "0znjxhhwqlz4sq96ah9g28mvw4w83rhp022h6vihnz64z2ad3p3z"))))
+        (base32 "0w2f62cfzm7j8wnw8igmjslpxc1a8s82dkdizyvim5qhjg6mrsym"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -807,16 +833,15 @@ mechanisms and introduces the concepts of order point.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               (invoke "python" runtest "-m" "purchase")))))))
+               (invoke "python" runtest "-m" "stock_lot")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -824,43 +849,30 @@ mechanisms and introduces the concepts of order point.")
        ("python-polib" ,python-polib)
        ("python-proteus" ,python-proteus)
        ("python-relatorio" ,python-relatorio)
+       ("python-sql" ,python-sql)
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-sql" ,python-sql)
-       ("python-trytond" ,python-trytond)
-       ("python-trytond-account"
-        ,python-trytond-account)
-       ("python-trytond-account-invoice"
-        ,python-trytond-account-invoice)
-       ("python-trytond-account-invoice-stock"
-        ,python-trytond-account-invoice-stock)
-       ("python-trytond-account-product"
-        ,python-trytond-account-product)
-       ("python-trytond-company"
-        ,python-trytond-company)
-       ("python-trytond-currency"
-        ,python-trytond-currency)
-       ("python-trytond-party" ,python-trytond-party)
-       ("python-trytond-product"
+     `(("python-trytond-product"
         ,python-trytond-product)
-       ("python-trytond-stock" ,python-trytond-stock)))
+       ("python-trytond-stock" ,python-trytond-stock)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for purchase")
+    (synopsis "Tryton module for lot of products")
     (description
-     "This package provides a Tryton module that defines the Purchase model.")
+     "This package provides a Tryton module that defines lot of products.")
     (license license:gpl3+)))
 
-(define-public python-trytond-purchase-request
+(define-public python-trytond-stock-supply
   (package
-    (name "python-trytond-purchase-request")
-    (version "5.6.0")
+    (name "python-trytond-stock-supply")
+    (version "5.8.1")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "trytond_purchase_request" version))
+       (uri (pypi-uri "trytond_stock_supply" version))
        (sha256
-        (base32 "15r1x3jzr83rna1vfpans277785dpmgjr7989icav602nkyhhx0x"))))
+        (base32 "01cgpxlznldrba79a3xmj4d0csyfc3ccgs66c490j8v8rdnqpbww"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -868,18 +880,15 @@ mechanisms and introduces the concepts of order point.")
          (replace 'check
            (let ((runtest
                   (string-append
-                   (assoc-ref %build-inputs "python-trytond")
+                   (assoc-ref %build-inputs "trytond")
                    "/lib/python"
                    ,(version-major+minor (package-version python))
                    "/site-packages/trytond/tests/run-tests.py")))
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (add-installed-pythonpath inputs outputs)
-               ;; Doctest 'scenario_purchase_request.rst' fails.
-               (invoke "python" runtest
-                       "-m" "purchase_request" "--no-doctest")))))))
+               (invoke "python" runtest "-m" "stock_supply")))))))
     (native-inputs
-     `(("python" ,python-minimal-wrapper)
-       ("python-dateutil" ,python-dateutil)
+     `(("python-dateutil" ,python-dateutil)
        ("python-genshi" ,python-genshi)
        ("python-lxml" ,python-lxml)
        ("python-magic" ,python-magic)
@@ -887,41 +896,24 @@ mechanisms and introduces the concepts of order point.")
        ("python-polib" ,python-polib)
        ("python-proteus" ,python-proteus)
        ("python-relatorio" ,python-relatorio)
-       ("python-sql" ,python-sql)
        ("python-werkzeug" ,python-werkzeug)
        ("python-wrapt" ,python-wrapt)))
     (propagated-inputs
-     `(("python-trytond" ,python-trytond)
+     `(("python-sql" ,python-sql)
+       ("python-trytond-account"
+        ,python-trytond-account)
+       ("python-trytond-party" ,python-trytond-party)
        ("python-trytond-product"
         ,python-trytond-product)
        ("python-trytond-purchase"
-        ,python-trytond-purchase)))
+        ,python-trytond-purchase)
+       ("python-trytond-purchase-request"
+        ,python-trytond-purchase-request)
+       ("python-trytond-stock" ,python-trytond-stock)
+       ("trytond" ,trytond)))
     (home-page "https://www.tryton.org/")
-    (synopsis "Tryton module for purchase requests")
+    (synopsis "Tryton module for stock supply")
     (description
-     "This package provides a Tryton module that introduces the concept of
-Purchase Requests which are central points to collect purchase requests
-generated by other process from Tryton.")
+     "This package provides a Tryton module that adds automatic supply
+mechanisms and introduces the concepts of order point.")
     (license license:gpl3+)))
-
-(define-public python-proteus
-  (package
-    (name "python-proteus")
-    (version "5.6.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "proteus" version))
-       (sha256
-        (base32 "0kxac5pkps243wf0xbmbd1g5bml96xl94j88y6yyzm093vyli150"))))
-    (build-system python-build-system)
-    ;; Tests require python-trytond-party which requires python-proteus.
-    (arguments
-     `(#:tests? #f))
-    (propagated-inputs
-     `(("python-dateutil" ,python-dateutil)))
-    (home-page "http://www.tryton.org/")
-    (synopsis "Library to access a Tryton server as a client")
-    (description
-     "This package provides a library to access Tryton server as a client.")
-    (license license:lgpl3+)))