# Purchase Requisition

**URL:** https://discuss.tryton.org/t/purchase-requisition/47
**Category:** Feature
**Tags:** purchasing
**Created:** [February 17, 2016, 10:33pm UTC](https://discuss.tryton.org/t/purchase-requisition/47 "2016-02-17T22:33:58Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [February 17, 2016, 10:33pm UTC](https://discuss.tryton.org/t/purchase-requisition/47/1 "2016-02-17T22:33:58Z")

</div>

The [Purchase Requisition](https://en.wikipedia.org/wiki/Requisition#Purchase_requisition) is an internal document to request to purchasing to procure some products.  
It is composed of the employee requesting, a delivery date, an internal code and of course a list of products with quantity and description (we could also add an estimation price for information).  
It needs to have a work-flow with those states: `draft`, `waiting`, `processing`, `purchased` and `cancelled`.  
There will be a special group for approbation right that will allow to create via a button an approbation record. A configuration will define when the `waiting` requisition can go to the state `processing`.  
At the processing state, the requisition will create “Purchase Request” for each line.

---

<div class="post-metadata">

### Author: ![tbruyere](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/tbruyere/32/37_2.png) [@tbruyere](https://discuss.tryton.org/u/tbruyere)
#### Post date: [February 22, 2016, 2:40pm UTC](https://discuss.tryton.org/t/purchase-requisition/47/2 "2016-02-22T14:40:29Z")

</div>

We need more functionalities on the purchase requisition document :

- Employee requesting can specify a Party or not
  - Preferential if the requester know the supplier that meet the needs.
  - If the requester has a reference supplier (quote or project) the party is mandatory. Example : an engineer is negotiating the creation of a new machine and request an offer with service and equipment (inseparable). This request is made directly (without purchase department) because very technical.

- Currency is on the document (not only on the line) because the purchase order is not multi-currency. Only mandatory if the requester provide price on product lines.
- Description mandatory on purchase requisition document to provide a way to retrieve easily the requisition because the party is not mandatory (only requester and date on the header)

After the workflow transition “approval” the purchase requisition lines create purchase request lines with an origin.

The state of purchase requisition lines will be a function fields on the state of purchase requisition until processing and purchased state depending on the creation of purchase order (by module purchase request).

Some fields from purchase requisition (currency, supplier reference) will introduce some constraints for the selection of lines in purchase request module.

- purchase request lines are not ‘splittable’ : we cannot select purchase request with different currency for a Purchase order.
- purchase request lines should stay together : when there is a reference supplier → all the lines of purchase requisition must be computed together.

 ![](https://discuss-cdn.tryton.org/uploads/default/original/1X/20e7310238ac697d9c02e1c3fe7767d2fdf20c95.jpg)

 ![](https://discuss-cdn.tryton.org/uploads/default/original/1X/a7a868e7c9ab3eec748e9426c30f933837221d0f.jpg)

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [February 22, 2016, 10:04pm UTC](https://discuss.tryton.org/t/purchase-requisition/47/3 "2016-02-22T22:04:31Z")

</div>

> [@tbruyere](#):
>
> Preferential if the requester know the supplier that meet the needs.  
> If the requester has a reference supplier (quote or project) the party is mandatory. Example : an engineer is negotiating the creation of a new machine and request an offer with service and equipment (inseparable). This request is made directly (without purchase department) because very technical.

In this case, I don’t see the point to use “Purchase Requisition” is the purchase department is skipped. The user could directly create a purchase order (maybe without validation right).

> [@tbruyere](#):
>
> Currency is on the document (not only on the line) because the purchase order is not multi-currency.

I don’t agree. The requested product could be from different suppliers with different currencies.  
So limiting on the document is a big drawback in the design.

> [@tbruyere](#):
>
> Description mandatory on purchase requisition document to provide a way to retrieve easily the requisition because the party is not mandatory (only requester and date on the header)

We don’t put required on field in base if it is not strictly needed to work.

> [@tbruyere](#):
>
> The state of purchase requisition lines will be a function fields on the state of purchase requisition until processing and purchased state depending on the creation of purchase order (by module purchase request).

I don’t think it is needed because we will have a link between the line and the “Purchase Request” so user could follow the state of the “Purchase Request”. Also I think the link could be later extended to create more than one “Purchase Request” (for example: composed product), so a unique state will be difficult to compute.

---

<div class="post-metadata">

### Author: ![tbruyere](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/tbruyere/32/37_2.png) [@tbruyere](https://discuss.tryton.org/u/tbruyere)
#### Post date: [March 22, 2016, 10:24am UTC](https://discuss.tryton.org/t/purchase-requisition/47/4 "2016-03-22T10:24:03Z")

</div>

We modified the documents incorporating the remarks of talking. We are now on a more generic model.

 ![](https://discuss-cdn.tryton.org/uploads/default/original/1X/8e50321d320f6046611c35ea1960891f58cb88c4.jpg)  
 ![](https://discuss-cdn.tryton.org/uploads/default/original/1X/80f96d0c71d100575dd22ae2ebc6f832525a93dc.jpg)

remove : supplier reference → party mandatory.  
remove : inseparable purchase requisition line  
move the currency on the purcahse requision line  
remove : mandatory on description  
remove : state and workflow on purchase requision line

For the state int the workflow, what do you think of this :  
Draft (first step)  
Waiting (send the purchase requisition to approval - waiting response)  
Rejected (purchase requisition rejected)  
Approved (purchase requision approved → create purchase request line for each purchase requisition line)  
Cancelled (purcahse requistion cancelled)  
Done (purchase requisistion is terminated → done)

Do you think I must add a Processing state beteween approved and done ?

The done state is set manually by the requester to archive the purchase requisition.

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [March 24, 2016, 1:04pm UTC](https://discuss.tryton.org/t/purchase-requisition/47/5 "2016-03-24T13:04:47Z")

</div>

> [@tbruyere](#):
>
> remove : supplier reference -\> party mandatory.

I guess it is better to name the field “supplier”.

> [@tbruyere](#):
>
> For the state int the workflow, what do you think of this :

I think they are good.

> [@tbruyere](#):
>
> Do you think I must add a Processing state between approved and done ?

No I don’t think it is needed because it is for internal usage.

> [@tbruyere](#):
>
> The done state is set manually by the requester to archive the purchase requisition.

I don’t think it is needed as far as we sort by date.

About the work-flow, I think there is a mistake “cancelled” should only be available from “draft”.

---

<div class="post-metadata">

### Author: ![maxx](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/maxx/32/2320_2.png) [@maxx](https://discuss.tryton.org/u/maxx)
#### Post date: [June 22, 2016, 8:57am UTC](https://discuss.tryton.org/t/purchase-requisition/47/6 "2016-06-22T08:57:50Z")

</div>

New issue for a proposal: [Proposal of a new module : Purchase Requisition (#5657) · Issues · Tryton / Tryton · GitLab](https://bugs.tryton.org/issue5657)

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [September 21, 2016, 8:34am UTC](https://discuss.tryton.org/t/purchase-requisition/47/7 "2016-09-21T08:34:42Z")

</div>

After a video call, we agreed that `approved` should not be a state. But instead the approbation should be done using a button that will create a record on a list of approbations of the requisition.  
There will be a configuration using `MatchMixin` that will define when the requisition can be processed by defining the number of approbation per group of user.

---

<div class="post-metadata">

### Author: ![maxx](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/maxx/32/2320_2.png) [@maxx](https://discuss.tryton.org/u/maxx)
#### Post date: [September 22, 2016, 1:52pm UTC](https://discuss.tryton.org/t/purchase-requisition/47/8 "2016-09-22T13:52:49Z")

</div>

After IRC chat, we agreed to remove purchase\_request state according a purchase\_requisition could be linked to more than one purchase\_request (in case of quantity are modified, another purchase\_request is created with the remaining quantity) and there’s a relate to purchase\_request so it’s easy to track state of each request rather than defining an new state in case of multiple purchase\_requests with differents states.

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [December 5, 2017, 2:26pm UTC](https://discuss.tryton.org/t/purchase-requisition/47/9 "2017-12-05T14:26:34Z")

</div>


