Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0022673Openbravo ERP09. Financial managementpublic2012-12-26 20:152013-01-25 09:53
dmiguelez 
dmiguelez 
normaltrivialalways
closedfixed 
20Community Appliance
 
 
Sandrahuguet
Core
No
0022673: Business Partner Blocking
Add the possibility to block a Business Partner.
Functional Specs:

On the Customer and Vendor Tabs of the Business Partner, a check is going to be created called Business Partner Block.
When a document is block to a particular Business Partner, this document will not be able to be completed. Other actions such as create a new one, or void or reactivate will be possible.

By checking it, a new section will be shown with the possible blocking options, filled by the following default values.

Customer
- Order: Blocked.
- Goods Shipment: Blocked.
- Invoice: Blocked.
- Payment: Not blocked.

Vendor
- Order: Blocked.
- Goods Receipt: Not blocked.
- Invoice: Blocked.
- Payment: Blocked.

This are the reasons why the default values are the previous ones.

- Order
By default Order is blocked for both Customer and Vendor. It makes sense that if a client blocks a Business Partner, the client should not be able to
complete an Order, since this document is the one that starts the basic business flow. Therefore by default, an Order will never be completed for a blocked Business Partner.

- Goods Shipment / Receipt
By default Goods Shipment is blocked for a Customer, but not for a Vendor. When blocking a Customer, it is reasonable to think that the client does not want
to send any Shipment to him, since the client may doubt if the Customer is going to pay for it. But not for a Vendor.
The reason is that, if there were Orders already created pending to be receipt, the Warehouse manager should have the possibility to register in the system
the receipt when it happens. The actions to perform afterwards (Invoicing and Payment) may be blocked, but this way it is possible to register the reception
of a Goods Receipt in the system and decide what to do with it later.

- Invoice
By default the Invoice is blocked for both the Customer and the Vendor. Since the Invoice is a contractual document and have further implications because of
it (Taxes for example), this document is blocked disabling the option to "sign a contract" with a Blocked Business Partner.

- Payment
By default the Payment is blocked for the Vendor, but not for the Customer. The reason for it is based on the cash flow. It should not possible to make a Payment
to a blocked Vendor, but it should be possible to receive a Payment from a Customer. The system will allow incoming payments but would block outgoing ones.
Also, when Payments are blocked, execution of Payments is also blocked, meaning that if there is a Payment in Awaiting Execution status, it would not be
possible to execute it.


Additional Notes.
Transactions and Reconciliations are never blocked. Therefore a Payment against a GL/Item is always possible to make.
G/L Journal entries are also never blocked, since blocking of Posing is out of scope for this project.
No tags attached.
Issue History
2012-12-26 20:15dmiguelezNew Issue
2012-12-26 20:15dmiguelezAssigned To => dmiguelez
2012-12-26 20:15dmiguelezModules => Core
2012-12-26 20:15dmiguelezTriggers an Emergency Pack => No
2013-01-10 16:36hgbotCheckin
2013-01-10 16:36hgbotNote Added: 0055465
2013-01-10 16:36hgbotStatusnew => resolved
2013-01-10 16:36hgbotResolutionopen => fixed
2013-01-10 16:36hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/50e8582535d5ca442814d271983d50ade6763a40 [^]
2013-01-11 08:27SandrahuguetReview Assigned To => Sandrahuguet
2013-01-11 08:27SandrahuguetNote Added: 0055477
2013-01-11 08:27SandrahuguetStatusresolved => closed
2013-01-11 12:24hgbotCheckin
2013-01-11 12:24hgbotNote Added: 0055479
2013-01-14 18:59hudsonbotCheckin
2013-01-14 18:59hudsonbotNote Added: 0055510
2013-01-25 09:53xplacescNote Added: 0055836

Notes
(0055465)
hgbot   
2013-01-10 16:36   
Repository: erp/devel/pi
Changeset: 50e8582535d5ca442814d271983d50ade6763a40
Author: David Miguelez <david.miguelez <at> openbravo.com>
Date: Thu Jan 10 16:34:20 2013 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/50e8582535d5ca442814d271983d50ade6763a40 [^]

Fixes Issue 22673: Business Partner Blocking.

---
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.html
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.html
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
M src-db/database/model/functions/C_INVOICE_CREATE.xml
M src-db/database/model/functions/C_INVOICE_POST.xml
M src-db/database/model/functions/C_ORDER_POST1.xml
M src-db/database/model/functions/M_INOUT_CREATE.xml
M src-db/database/model/functions/M_INOUT_POST.xml
M src-db/database/model/functions/M_REQUISITION_POST.xml
M src-db/database/model/tables/C_BPARTNER.xml
M src-db/database/sourcedata/AD_COLUMN.xml
M src-db/database/sourcedata/AD_ELEMENT.xml
M src-db/database/sourcedata/AD_FIELD.xml
M src-db/database/sourcedata/AD_FIELDGROUP.xml
M src-db/database/sourcedata/AD_MESSAGE.xml
M src/org/openbravo/erpCommon/ad_callouts/SE_Invoice_BPartner.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Order_BPartner.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Payment_BPartner.java
M src/org/openbravo/erpCommon/ad_callouts/SL_InOut_BPartner.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Requisition_BPartner_PriceList.java
M src/org/openbravo/erpCommon/ad_process/ConvertQuotationIntoOrder.java
---
(0055477)
Sandrahuguet   
2013-01-11 08:27   
Code review + testing OK
(0055479)
hgbot   
2013-01-11 12:24   
Repository: erp/devel/pi
Changeset: a35862bd8305d18c6705de66a6edfd28638f5154
Author: David Miguelez <david.miguelez <at> openbravo.com>
Date: Fri Jan 11 12:10:18 2013 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/a35862bd8305d18c6705de66a6edfd28638f5154 [^]

Related to Issue 22673. Code Review feedback applied.

---
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
M src-db/database/model/functions/C_INVOICE_CREATE.xml
M src-db/database/model/tables/C_BPARTNER.xml
M src-db/database/sourcedata/AD_MESSAGE.xml
---
(0055510)
hudsonbot   
2013-01-14 18:59   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/d776bda1e7c4 [^]

Maturity status: Test
(0055836)
xplacesc   
2013-01-25 09:53   
A doubt : this flag is not working when you create a ticket from the Web POS. You can set it to YES, but tickets are imported and sales orders created correctly. If you try to create the sales order from the BackOffice (with the Retail solution) it works.

If this is the expected behaviour (although I can imagine situations where it could be also interesting, depending on the sub-industry), it can be somehow confusing and maybe we should add a note somewhere in the Retail documentation. The alternative could be to add this flag to the customer information in Web POS and use it in order to avoid creating the ticket.