hi,
it seems there's not a separation between Customers and Suppliers into Contacts Module. When I am issuing a purchase order I also see the customers contacts and viceversa when I work in a sales module.
Which is the best way to setup Odoo to keep separated suppliers from customers in all the modules of odoo?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Comptabilitat
- Inventari
- PoS
- Project
- MRP
This question has been flagged
Just be aware of the way we separate Contacts by default, perhaps when you know this you will be able to update your contacts after exporting / re-importing.
Creating your records from the correct place (or importing them to the correct place, or updating the rank fields) gives you the behavior you want. Then just use the CUSTOMER INVOICES and VENDOR BILLS filters to show Customers or Vendors when needed - these filters are automatically applied when creating Sales and Purchase Orders.
All Contacts are stored in the same place in Odoo - the res.partner model / class / database table.
The fields customer_rank and supplier_rank are increased above 0 based on when Contact records are linked to Sales Orders and/or Purchase Orders.
If you create a Contact from the Contacts App, they are automatically created with a customer_rank and supplier_rank of 0.
If you create a Contact from any Customers Menu (CRM, Sales, Website, Accounting, etc) they are automatically created with a customer_rank of 1.
If you create a Contact from any Vendors Menu (Purchase, Accounting) they are automatically created with a supplier_rank of 1.
If you import Contacts from the Contacts App, they are automatically created with a customer_rank and supplier_rank of 0.
If you import Customers from any Customers Menu, they are automatically set to a customer_rank of 1.
If you import Vendors from any Vendors Menu, they are automatically set to a supplier_rank of 1.
The first time a Customer Invoice is posted for a Contact, they automatically become a Customer, with their customer_rank field getting increased.
The first time a Vendor Bill is posted for an Contact, they automatically become a Vendor, with their supplier_rank field getting increased.
A rank of 0 means "we don't know yet" so we keep the record a Contact - not shown when you use the filters.
A rank of 1 or higher means "we know" so those records WILL be shown when you use the filters.
The higher the rank, the more "orders" that Contact does / has with your Company.
Ray suppose while using customer invoice filter but there is no invoice created for my customer...at that time what will be the result?
The filters show records where the rank is > 0. You can also do your own testing to help you understand how this works. If you want a record to show up using the filter you either need to create and post an Invoice for the contact, or create the Contact from a Customers Menu, or change the value of the rank field. You can also find previous questions on this forum that go into this in more detail - see https://www.odoo.com/forum/help-1/where-are-is-customer-is-vendor-checkboxes-in-odoo-13-contacts-157566 for example.
The contact separation module solves this.
https://apps.odoo.com/apps/modules/17.0/contact_separation
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Registrar-se
I think this concept is not bad for completely newly set up systems. But if you are doing a migration from an old system, you run into a number of problems. First of all, there are psychological (why does it have to be different now?), technical (a supplier has a number - just like a customer - I have to migrate this!) and practical (what if a contact is a customer and a supplier at the same time?) Overall, I think the current state is not satisfactory, the customer is forced to restore the old state via modules. Sad.