Hi all,

first of all, please excuse me if I am asking things that have already been explained 100 times, and I am asking it for the 101st time.

I am in the process of evaluating if I can replace the ERP/WMS I wrote myself in the past by something like ofbiz. I wrote it in the past from the ground, because there was nothing on the market at that time that was affordable and could fit the specifics of what we are doing.
(we are in the distribution of beer).
We are at the point where we need to decide on the future of the package. The technology used is becoming of age (FlagShip www.fship.com in combination with mysql) and some of the foundations it was build on in the past are no longer valid, or have changed. Consequently we need to make drastic changes in the software. Hence the evaluation process.

Basically, we have warehouses where breweries deliver their beer, and from there it is shipped towards all countries in the world either directly to the customer or towards an other warehouse. From within that warehouse the inventory of several independent operating companies (different importers from different countries are using the same warehouse and software) is used to dispatch towards their customers. (the warehouse itself is not the owner of the inventory, it just is responsible for all services that need to be rendered)

The current system allows the warehouse to do all order picking, create shipping notes, and consolidates different shipping notes into a "transport". A "transport" is a consolidation of shipping notes that leave at the same moment the warehouse with the same transportation. (e.g. on the same truck, in the same container) For this "transport" the current system creates all administrative documents automatically. (e.g. the declaration of excise movements ) Based on the shipping notes, invoices are created towards the customers of the different companies.

Between the different companies there is automatic order creation and invoicing for items that they are the preferred supplier. E.g.

 * Company A sells product XY to customer Z.
 * Within Company A, for product XY the company B is defined as the
   preferred supplier.
 * Automatically the system creates within company A a purchase order
   towards company B for the product XY
 * Within company B a sales order is created for the product XY towards
   company A
 * When company A looks at the "available to promise" inventory, the
   system takes the sum of the inventory of company A and the inventory
   of company B (preferred supplier for the product)
 * Any status on the sales order within company B automatically updates
   the purchase and sales order in company A.

On the product itself there is a form of master data management so that the companies only need to create the article once. On top when company B defines its selling price, the purchase price of company A is updated automatically.

A similar system of automatically creating purchase orders from sales orders exists for products that are leaving directly from the supplier. E.g. Company A creates a sales order for a customer that is dispatched directly from the supplier (drop shipment), the system creates automatically the purchase order for that supplier.

An important part of our current system is excises. On beer the government raises excises. Those excises need to be paid when you put the beer on the market for the end consumer. Between the brewery and e.g. the tax warehouse you can move the product without needing to pay excises, however you need to have a bookkeeping on all excise movements. (this works like in accounting, you need to book incoming and outgoing movements on the account) The sum of all movements needs to equal to you actual inventory for that excise account.

An excise account is created for each packing form of a product. E.g.

Account Number
        Beer
1
        Augustijn 24 * 1/3 L One way packaging
2
        Augustijn 24 * 1/4 L One way packaging
3
        Bornem 24 * 1/3 L One way packaging
4
        Bornem 24 * 1/4 L One way packaging
5
        Augustijn 24 * 1/3 L Reusable  packaging
6
        Augustijn 24 * 1/4 L Reusable  packaging
...
        ...

        

        



In the current system, we link certain products to an excise account.
E.g. Augustijn 24 * 1/3 L from company A is linked to that excise account, but also Augustijn 24 * 1/3 L from company B is linked to that account. (internally these products have different product ids in each company, so we link them via a link table to the same excise account (exciseaccount_productid) When the government comes checking the tax warehouse (this is at minimum a yearly exercise they do), we need to be able to print all movements on the account, together with the number of the document that accompanied the transport and/or the inventory that is available per excise accounts

For calculating weights and contents of the products we use the BOM of the product.
We have in our system different types of products
Articles : things we sell and have a selling price
Bottles, Keggs, Glasses, Accessories that are used to create the article via a BOM

Eg.

Augustijn 24 * 1/3 L One way packaging is composed of

Carton  1
Steiny bottle   24



Augustijn 24 * 1/3 L One way packaging + 1 Augustijn glas 33 cl is composed of

Augustijn 24 * 1/3 L One way packaging  1
Augustijn glas 33 cl
        1


If we want to have the weight of Augustijn 24 * 1/3 L One way packaging + 1 Augustijn glas 33 cl, the system calculates this automatically by recursively traversing the BOM and for the bottles multiplying with the contents of the bottle. (.33 L) At the same time based on the packaging within the BOM, the "warranty" / "Bond" / "caution" you pay for reusable packaging is calculated (this is defined on the bottle, kegg, packaging, ...)

On this example, we have an extra complexity :

 * When people are ordering Augustijn 24 * 1/3 L One way packaging + 1
   Augustijn glas 33 cl.
 * We need to calculate for the picking note, how many boxes of glasses
   need to be put on the shipment.
 * (glasses traditionally are packed per 6)
 * So if a customer orders 10. We calculate that we need to give 2
   boxes of glasses, but in the background we keep track that we gave
   the customer 2 glasses to much.
 * For a next order we take the glasses we have given to much into account

Next to the excise duties, there is also ecotax to take into consideration.
On packaging you bring on the market and that is one way, you need to pay a disposal tax, unless the dispossal tax was paid for by the producer of the product. E.g. sometimes it happens that certain breweries pay for all products that are brought on a market, whatever the importer was. In other cases it is the task of the importer to pay for the ecotax to the local government.

When creating an invoice for a customer, the customer sees for each orderline on the invoice, the amount of excises, the ecotax, the warranty and the discount. When discounts are applied these are applied before excises, ecotax, warranty and all other possible taxes.
The transportation cost is added to the total as a net cost.
No margin is taking on the transportation cost.

Last year we added to our current software the possibility to communicate with the EMCS system from the government. This allows us for communicating in an electronic way with the government for declaring excise free transports etc. (currently this is done by generating an XML file representing the SOAP message and we post it via SOAPUI on the webservice of the gouvernment. We do this via SOAPUI because the interface provided by the gouvernment is still not 100% stable and is sometimes giving errors. As soon as we are sure the interfacing is stable, we would replace this by e.g. and ESB that can do the work (e.g. ServiceMix or WSO2)

The question I have, is this possible within ofbiz ?
Would it require a lot of changes in ofbiz ?


Kind regards

Tore









Reply via email to