Inter-company Order Automation

The Task

Two trading entities managed by the same team buy from and sell to one another on a regular basis. Every transaction had to follow the same steps which were manually performed by someone in the team. The steps involved:

  1. Company 1 (OneCorp) would receive an order from a customer.
  2. OneCorp would load a sales order for the customer.
  3. OneCorp would raise an invoice for the customer.
  4. OneCorp would raise a purchase order on Company 2 (Two-Corp).
  5. TwoCorp would load a sales order for OneCorp.
  6. TwoCorp would raise an invoice for OneCorp.
  7. OneCorp would receipt the purchase order.
  8. OneCorp would match the invoice from TwoCorp to the receipt note.

The Challenges

Having to manually perform the steps required for each transaction resulted in the following challenges:

  1. Lots of time was used up performing each step of a repetitive transaction.
  2. Pricing and stock errors were possible and common at each step.
  3. Errors resulted in credits and additional corrective action, also wasting time.

The Solution

Our development team mapped out the process and devised a simple solution to automate most of the task. The team developed a Windows service that runs in the background, and communicates with SYSPRO through the business objects to get the job done efficiently and safely, without errors. It works as follows:

  1. Every minute the service checks if there’s a new customer invoice in OneCorp for a product supplied by TwoCorp.
  2. When it finds a new invoice, it creates the purchase order in OneCorp, captures it as a sales order in TwoCorp, creates the invoice in TwoCorp, then receipts the purchase order in OneCorp, and matches the invoice from TwoCorp with the receipt note in OneCorp.
  3. It does all of this in around 5 seconds, and provides a dashboard view to the user if there are any issues that need to be addressed.