The customer runs a 3PL warehouse that does warehousing, shipping and returns services for a large number of customers.
Each of the customer's clients are given a Federal Express sub-account that is used for the shipping and each week is sent an
invoice with billing details. A value added is that a discount off of published Fedex rates
can be passed along to the client due to volume agreements with Fedex.
To faciliate this a new system was designed utilizing Fedex EDI services. The basic components of this system are:
- Windows Service to receive Fedex 210 EDI files (invoices)
- Windows Service to send Fedex 820 EDI files (remitances)
- An internal web based billing system
Microsoft technologies have been used and upgraded over the years.
- Visual Studio 2013 -> 2015
- SQL Server 2008 R2 -> 2012
- Entity Framework 6.1.3
- ASP Net MVC 4
The windows service contains a frequently run loop that first polls Fedex via their secure ftp service to see if there is a 210 invoice file.
If there is the file is downloaded, parsed and inserted into the SQL Database.
The next step checks the SQL database to see if there is a remittance due to be sent to Fedex. If so EDI file(s) are created and transmitted to Fedex.
The website is internal to the company and only accessed by the people in billing. They can review each customers invoice for the week and in some cases resolve unknown accounts or transfer from one account to the other.
The website will calculate all discounts and charges and create and invoice detail that can be used to create a quickbooks invoice.
There are other charges outside the scope of the program that also have to be added to the invoice so this part is not fully automated yet.
The website is also used to do client and service administration, reprocessing of the billing, and other activities related to the billing and program operation.
This system has been running since 2013.
The Fedex versions of the 210 invoices and 820 remitances edi document definition is here: Fedex EDI Spec