Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
22e4838
[ADD] Purchase Minimum Amount
rgarnau Aug 31, 2017
be88bca
[MIG] purchase_minimum_amount: Migration to 11.0
rgarnau Nov 14, 2017
3dcdaa2
OCA Transbot updated translations from Transifex
oca-transbot Mar 3, 2018
58a2f1e
[ADD] icon.png
OCA-git-bot Apr 3, 2019
e89b2a6
Translated using Weblate (Spanish)
Roodin Sep 23, 2019
af4b04c
[MIG] purchase_minimum_amount v11 to v12
Nikul-Chaudhary Jan 26, 2019
fd28ac7
[12.0][FIX] finish migration
Mar 24, 2020
b07a2d1
Update translation files
oca-transbot Apr 7, 2020
87573ec
Translated using Weblate (Slovenian)
sysadminmatmoz Aug 12, 2020
ce77953
Translated using Weblate (French)
SandieFavre Aug 28, 2020
c0747a9
Translated using Weblate (Slovenian)
sysadminmatmoz Feb 24, 2021
4295c5e
[IMP] purchase_minimum_amount: black, isort, prettier
albariera Feb 24, 2021
3168060
[MIG] purchase_minimum_amount: Migration to 13.0
albariera Feb 24, 2021
0b63cd4
[IMP] purchase_minimum_amount: add fragmented readme
MiquelRForgeFlow Mar 9, 2021
f312d59
[IMP] purchase_minimum_amount: black, isort, prettier
Jul 6, 2021
b7af5ca
[MIG] purchase_minimum_amount: Migration to 14.0
Jul 6, 2021
ee7bd09
[UPD] Update purchase_minimum_amount.pot
oca-travis Jul 19, 2021
9aec9d7
[UPD] README.rst
OCA-git-bot Jul 19, 2021
7f40fe4
[FIX] purchase_minimum_ammount version
gurneyalex Sep 15, 2021
a90b368
[IMP] update dotfiles [ci skip]
OCA-git-bot Mar 31, 2022
de7282c
[CHG] purchase_minimum_amount: Change to AGPL as depending on AGPL pu…
rousseldenis Jul 6, 2022
b71c309
[UPD] README.rst
OCA-git-bot Jul 6, 2022
8cf1574
purchase_minimum_amount 14.0.1.0.2
OCA-git-bot Jul 6, 2022
8045d8c
Translated using Weblate (Portuguese (Brazil))
douglascstd Oct 3, 2022
bea1318
Translated using Weblate (Italian)
francesco-ooops Nov 16, 2022
8634054
Translated using Weblate (Italian)
francesco-ooops Nov 17, 2022
eb0f738
[UPD] README.rst
OCA-git-bot Sep 3, 2023
944688c
Update translation files
weblate Oct 9, 2023
cbb54e3
Translated using Weblate (Italian)
mymage Jan 29, 2024
960f827
Translated using Weblate (Spanish)
Ivorra78 Apr 17, 2024
06ffc39
[MIG] purchase_minimum_amount: Migration to 16.0
etobella Feb 16, 2025
9303688
[UPD] Update purchase_minimum_amount.pot
Mar 20, 2025
1a8f77b
[BOT] post-merge updates
OCA-git-bot Mar 20, 2025
cb609cf
[IMP] purchase_minimum_amount: pre-commit auto fixes
rousseldenis Dec 10, 2025
c2f0e24
[MIG] purchase_minimum_amount: Migration to 18.0
rousseldenis Dec 10, 2025
42da6af
[DONT MERGE] test-requirements.txt
rousseldenis Dec 10, 2025
a55ab5d
[IMP] purchase_minimum_amount: Improve tests
rousseldenis Dec 10, 2025
6d5b503
[IMP] purchase_minimum_amount: Use constrains() also for lines
rousseldenis Dec 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions purchase_minimum_amount/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
=======================
Purchase Minimum Amount
=======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:ab05f36d17308926281dc7fa679ef2166f78174c06812a21c9287cb59b0ee9b8
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpurchase--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/purchase-workflow/tree/18.0/purchase_minimum_amount
:alt: OCA/purchase-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/purchase-workflow-18-0/purchase-workflow-18-0-purchase_minimum_amount
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/purchase-workflow&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows you to establish and automate a specific Purchase
Order Approval Block Reason in the system: the 'Minimum Purchase Order
Amount per Vendor'.

**Table of contents**

.. contents::
:local:

Configuration
=============

- Go to 'Purchases / Purchase / Vendors'
- Click on a Vendor and inside the 'Sales & Purchases' page specify the
non-required field 'Minimum Purchase Amount'.
- Assign the security group 'Release RFQ with approval block' to users
that should be able to release the block. Users in group 'Purchase /
Managers' are by default assigned to this group.

Usage
=====

Set the Purchase Approval Block
-------------------------------

1. Go to 'Purchases / Purchase / Requests for Quotation'
2. Create a new RFQ and upon saving if the Untaxed Amount is below the
Purchase Minimum Amount specified in that vendor, then the Approval
Block Reason is automatically set and the Approval Block Reason is
not editable anymore.

Search existing RFQ
-------------------

There is a filter 'Blocked' to search for orders that are blocked. It is
also possible to search RFQ’s with the Approval Block Reason 'Minimum
Purchase Order Amount per Vendor'.

Confirm the RFQ
---------------

1. Press the button ‘Confirm’. If there’s an approval block, the order
will be set to status 'To Approve'. You will then need to request a
Purchase Manager to approve it.

Release the purchase approval block
-----------------------------------

1. All the RFQ’s with a total amount surpassing the specified Minimum
Purchase Order Amount for that vendor (excluding taxes) are
automatically released.
2. If a blocked RFQ without surpassing the minimum amount wants to be
released, a user member of the security group 'Release RFQ with
approval block' can see a button 'Release Approval Block'. When
pressing it, anyone seeing that RFQ is able to validate it.

Notifications to followers
--------------------------

1. Followers of the RFQ receive notifications when an approval block has
been set or released.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/purchase-workflow/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/purchase-workflow/issues/new?body=module:%20purchase_minimum_amount%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* ForgeFlow

Contributors
------------

- Jordi Ballester Alomar <[email protected]>
- Roser Garcia <[email protected]>
- Darshan Patel <[email protected]>
- Nikul Chaudhary <[email protected]>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/purchase-workflow <https://github.com/OCA/purchase-workflow/tree/18.0/purchase_minimum_amount>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions purchase_minimum_amount/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0).

from . import models
17 changes: 17 additions & 0 deletions purchase_minimum_amount/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2016 ForgeFlow S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0).

{
"name": "Purchase Minimum Amount",
"author": "ForgeFlow, Odoo Community Association (OCA)",
"version": "18.0.1.0.0",
"website": "https://github.com/OCA/purchase-workflow",
"depends": ["purchase_order_approval_block"],
"data": [
"data/purchase_block_reason_data.xml",
"views/purchase_order_view.xml",
"views/res_partner_view.xml",
],
"license": "AGPL-3",
"installable": True,
}
14 changes: 14 additions & 0 deletions purchase_minimum_amount/data/purchase_block_reason_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Serpent Consulting Services Pvt. Ltd.
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
-->
<odoo>
<record id="minimum_amount_block_reason" model="purchase.approval.block.reason">
<field name="name">Minimum Amount per Vendor</field>
<field
name="description"
>Set total minimum amount (before taxes) for a vendor.</field>
</record>
</odoo>
66 changes: 66 additions & 0 deletions purchase_minimum_amount/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_minimum_amount
#
# Translators:
# OCA Transbot <[email protected]>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-23 17:50+0000\n"
"PO-Revision-Date: 2018-02-23 17:50+0000\n"
"Last-Translator: OCA Transbot <[email protected]>, 2018\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_res_partner
msgid "Contact"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__display_name
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line__display_name
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__display_name
msgid "Display Name"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__id
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line__id
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__id
msgid "ID"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order____last_update
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line____last_update
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner____last_update
msgid "Last Modified on"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__minimum_po_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_users__minimum_po_amount
msgid "Minimum Purchase Amount"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__minimum_po_amount
msgid "Purchase Minimum Amount"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_purchase_order
msgid "Purchase Order"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Bestellposition"
67 changes: 67 additions & 0 deletions purchase_minimum_amount/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_minimum_amount
#
# Translators:
# OCA Transbot <[email protected]>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-23 17:50+0000\n"
"PO-Revision-Date: 2024-04-17 19:34+0000\n"
"Last-Translator: Ivorra78 <[email protected]>\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_res_partner
msgid "Contact"
msgstr "Contacto"

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__display_name
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line__display_name
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__display_name
msgid "Display Name"
msgstr "Mostrar Nombre"

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__id
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line__id
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__id
msgid "ID"
msgstr "ID"

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order____last_update
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line____last_update
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner____last_update
msgid "Last Modified on"
msgstr "Última Modificación el"

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__minimum_po_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_users__minimum_po_amount
msgid "Minimum Purchase Amount"
msgstr "Importe mínimo de compra"

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__minimum_po_amount
msgid "Purchase Minimum Amount"
msgstr "Importe mínimo de compra"

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_purchase_order
msgid "Purchase Order"
msgstr "Orden de compra"

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Línea orden de compra"
67 changes: 67 additions & 0 deletions purchase_minimum_amount/i18n/es_MX.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_minimum_amount
#
# Translators:
# OCA Transbot <[email protected]>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-23 17:50+0000\n"
"PO-Revision-Date: 2018-02-23 17:50+0000\n"
"Last-Translator: OCA Transbot <[email protected]>, 2018\n"
"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/"
"es_MX/)\n"
"Language: es_MX\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_res_partner
msgid "Contact"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__display_name
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line__display_name
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__display_name
msgid "Display Name"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__id
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line__id
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__id
msgid "ID"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order____last_update
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order_line____last_update
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner____last_update
msgid "Last Modified on"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_partner__minimum_po_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_res_users__minimum_po_amount
msgid "Minimum Purchase Amount"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model.fields,field_description:purchase_minimum_amount.field_purchase_order__minimum_po_amount
msgid "Purchase Minimum Amount"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_purchase_order
msgid "Purchase Order"
msgstr ""

#. module: purchase_minimum_amount
#: model:ir.model,name:purchase_minimum_amount.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Línea de orden de compra"
Loading
Loading