The problem
Container and carrier evaluations were paper forms passed between three departments one section at a time, order and container details were copied by hand from the ERP, and monthly carrier summaries meant adding up a stack of sheets.
What I built
An ASP.NET Core MVC app: create an evaluation from an ERP order number and the customer, shipping line, haulier, destination, container number, size and seal fill in. Assign an evaluator to each section, score on a four-level scale, sign off with a signature, and print PDF reports per evaluation and per month.
Key features
- Create an evaluation from an ERP order number; customer, shipping line, haulier, destination port, container number, size and seal fill in automatically
- Three sections owned by different teams: shipping line and agent (International Marketing), shipping and haulier on price and on service (International Marketing / warehouse), and container quality (QA)
- QA checks container temperature before and after loading at −20 °C, the floor, ceiling, walls and door, and halal cleanliness
- Four-level scale from very good to needs improvement, an evaluator assigned per section, and sign-off with a signature image
- Criteria are tied to a document number and effective date, so a new revision never changes past evaluations
- Dashboard of open evaluations with days outstanding, monthly document chart and how often each carrier is used
- PDF report per evaluation, and monthly transport and shipping-agent performance reports
- Company, forwarder and haulier master data, user permissions and a field-level change log with old and new values
Under the hood
- ODBC link to the ERP (DB2) pulls order headers and shipments from the last two years, so nothing is typed twice
- Controlled reports are rendered with RDLC (ReportViewerCore) to match the original paper forms
- Retro-fitted company SSO onto the existing app with cookie auth and a claims transformation, keeping the app’s own permissions