Intercompany Trading

Does anyone know of an Attain development to allow cross-company order and invoice processing, as well as stock transferring and drop shipments ? Products like Adonix X3 and BaanERP allow logistic entities (sales offices, purchase offices, warehouses, work centres) to be shared across the application and separate from finance companies, so that stock can move between entities easily, and the resultant financial transactions for change of ownership are triggered automatically. With Attain now being Microsoft’s non-USA flagship ERP application, not allowing intercompany trading is a major functional gap. So, has anyone developed this over SQL Server, or is their a project underway that anyine knows of ? Thanks, Peter Hodgson.

In my opinion Commerce Gateway is the product that handles these situations.,2 Lars Strøm Valsted ------------------------- Why can’t programmers tell the difference between Christmas and Halloween? Because OCT(31) = DEC(25)

Does Commerce Gateway allow you to source sales orders from locations that are in another Navision company, or allow location transfers between locations in different companies, with the appropriate sales and cost of sales journals created in both General Ledgers?

Commerce Gateway is exchange and semi-automatic handling of information sent between two IT-systems - on DOCUMENT level (eg. Sales Order document). Whether you exchange documents between your own Navision Financials (Company 1) and a SAP, Oracle, own Navision Finaicals (Company 2) or another Navision Financials/Attain system doesn’t matter. The beauty of CP is that you don’t need to know which system is at the other end of the line, you only need to know that it has a biztalk server waiting for your documents. Actually I think, that if you only want to exchance documents between 2 companies in the same database, then you probably don’t need the Microsoft Biztalk Server part - which is the transportation and conversion part of Commerce Portal - , but I may be wrong. Lars Strøm Valsted ------------------------- Why can’t programmers tell the difference between Christmas and Halloween? Because OCT(31) = DEC(25)

With detailed modifications intercompany records can be read/written. This is very advanced topic. C/AL has the CHANGECOMPANY function, but the validate feature cannot be used when constructing records or performing operations. I have completed several installations involving intercompaning processing.

Alan, would you mind sharing the basic idea and working of your development… I have also come across this requirement a couple of times but never got into developing it… I just jotted down a couple of idea how to realize it… CP might be fine, but it most cases it might simply be a too upblown solution, and it’s rather an expensive way aswell… Saludos Nils

// Define Record which points to second company. Customer2.CHANGECOMPANY(Company2); // // Customer.RESET; //(this record is read from the local company IF customer.find(’-’) THEN BEGIN Customer2 := Customer; IF NOT Customer2.INSERT THEN Customer2.MODIFY; END; //Note: You have to ensure that the OnInsert() or OnModify() triggers do read other records which would be default come from the local company. If this is required then create an Intercompany field in the record which can be used in the trigger IF Intercompany THEN PaymentTerms.CHANGECOMPANY(Company) END PaymentTerms.GET(“Payment Terms Code”);

Alan’s characterization of use of the CHANGECOMPANY function to implement cross-company processing as an advanced topic is an understatement (IMHO). Most actions that you might want to instigate across company boundaries involve references to multiple tables. As Alan indicates, many of these references are buried, sometimes in second, third, or four level function calls. CHANGECOMPANY is a table specific command. So it generally requires considerable effort, both in analysis and testing, to create any meaningful cross-company function using CHANGECOMPANY. To justify that effort, the benefits to your organization must be significant. Dave Studebaker Liberty Grove Software A Navision Services Partner

I have to agree with David on the complexity on using CHANGECOMPANY. The time you have to spend on analysis, testing, development etc. will come very close to what you have to pay for Commerce Portal, which is a standard product, not a customization. Lars Strøm Valsted ------------------------- Why can’t programmers tell the difference between Christmas and Halloween? Because OCT(31) = DEC(25)

So, it is possible to develop C/AL code to handle intercompany trading, but it’s usually not viable, is that what you’re saying ? Commerce Server is a messaging approach to the problem, but surely this is not capable of replicating the cross-company trading functionality that is available in many other tier2/tier1 ERP applications. So how is Navision itself intending to address this functional gap, if indeed it is ? SAP, Baan, Adonix X3, Streamline are just 4 ERP’s that I know of that include this cross-company trading functionality as standard. Does anyone know if Navision is intending a standard solution to this as opposed to a do-it-yourself approach ? Thanks for the feedback to date, though, very interesting. Peter.

I’m not at all sure it is a functional gap. IMHO the functionality you require is already present in Commerce Portal - unless I have misunderstood your question. Actually, I think that handling intercompany trading is brilliant with CP, because it uses the standard functionality that are already present in the application for sales/purchase order processing, and just extends that functionality to allow collaboration with other systems. Just my 2 cents… Lars Strøm Valsted ------------------------- Why can’t programmers tell the difference between Christmas and Halloween? Because OCT(31) = DEC(25)

CP is a good solution for exchange of Intercompany document (Sales Order to Purchase Order etc). CP cannot handle situations where you want to have a Sales in one company, and automatically pull inventory from another company. This type of enhancement has been completed in the range of 60hrs. Or in a manufacturing environment where you want MRP requirements to be pulled from multiple companies into a single MRP run. This type of modification has been completed in the range of 80hrs. Creation of Sales Order or Purchase Orders in another company can be accomplished in less than 40hrs.

Alan, That is the type of functional gap I am suggesting. EDI can quite easily cope with sales/purchase orders and sales/purchase invoices, but the “pooling of resources” across companies opens many other doors. It is this type of cross-company trading functionality that multi-national companies require, including mine. A simple example is a sales order recorded in one company sources stock out of a location belonging to another company. The intercompany purchase and sales order are created automatically, whilst the stock is drop shipped to the end customer. The despatch of stock in the second company triggers a customer invoices, an intecompany sales invoice and intercompany purchase invoice. Surely XML is not designed to cope with this type of transaction ? So, Alan, was the coding you did for an NSC, and if so do they resell the code as a add-on granule ? Or at least, could I get hold of a spec ? Thanks, Peter.

Peter, I did the work for an NSC. They did not make it available as an Add-on. I will have to look if I still have a specification.

Now I am working at this area. when you doing a transaction in a company, system will be auto generate another transaction in other company(sub or holding company).

Tommy Madsen created an Inter-Company add-on for version 1.2. I belive this was at one time available free on the Partner Network. His documentation stated the limitations which have been mentioned above.

It should also be noted now that version 4.0 has “Intercompany Postings” functionality. Can anyone tell I am doing housekeeping? [:D]