Takes a customer complaint from the first contact to a resolution the customer has been told about, with the order lines and prices checked in place.
Today a complaint arrives by phone or email, customer service opens the order in the ERP, asks logistics what happened and asks finance for a credit note, and the customer hears back after a week. The reason for the credit is recorded in the email thread, so the same complaint returns the next quarter.
The complaint starts on the portal screen, from customer service or from the service case in the CRM, against a customer and one or more order lines. The app shows the investigator the ordered and confirmed quantities, the requested date, the price condition the order used and any return already open for the material, so a short delivery, a late delivery or a price error is visible within minutes. The owner chooses the resolution: a credit memo request, a replacement order line, a return order for pickup, or an explanation, and the manager signs credits above the band. The app creates the sales documents through the released interfaces, records their numbers on the complaint and sends the customer the outcome.
| Lane | Does |
|---|---|
| Customer | raises the complaint on the portal screen and sees its status |
| Customer service | logs, classifies and owns the complaint; informs the customer |
| Investigator | checks order lines, prices and returns and records the cause; from logistics, sales or finance by complaint type |
| Customer service manager | approves credits above 5,000 and replacements above 10,000 |
Every screen renders for desktop and mobile; portal screens are the same screens delivered to an outside login.
| Screen | What is on it |
|---|---|
| S01 Raise complaint | portal screen: customer contact, order number, lines, complaint type, description, photo upload; submit |
| S02 Complaint queue | grid of open complaints by type, customer, order value and age; assign button |
| S03 Investigation | order lines with ordered and confirmed quantity, requested date, unit price against the price condition; returns open for the material; cause category and note |
| S04 Resolution | options: credit memo request, replacement line, return order, explanation; amount and quantity; approve |
| S05 Customer update | portal and email view of the outcome with document numbers; customer rating |
| S06 Complaint board | complaints by type, cause, customer and days to resolve; repeat complaints per customer |
The first object is the main one; each system page shows the real table or resource behind every handler.
| Object | Why the app reads it | See it on |
|---|---|---|
| Customer master | the complainant, sales organisation and terms | Salesforce · S/4HANA · Oracle Fusion · Snowflake |
| Sales order line | the order lines complained about: ordered, confirmed, value and date | Salesforce · S/4HANA · Oracle Fusion · Snowflake |
| Price condition | the agreed price condition, to check an invoice dispute | Salesforce · S/4HANA · Oracle Fusion · Snowflake |
| Return order | returns already open for the customer and material | Salesforce · S/4HANA · Oracle Fusion · Snowflake |
| Object | What changes |
|---|---|
| Sales order line | credit memo request or replacement order line created as a sales document with the complaint number as reference |
| Return order | return order created for pickup of the goods in dispute |
Start: A complaint is submitted on S01 by the customer, or logged by customer service from a call or from the service case in the CRM.
| Step | Moves when |
|---|---|
| Complaint logged | customer and order lines identified; type set; owner assigned; clock of 2 working days starts |
| Investigated | cause category recorded with the evidence from the order lines and the price condition |
| Resolution proposed | owner chooses the resolution; credits above 5,000 go to the manager |
| Documents created | credit memo request, replacement line or return order created; numbers stored on the complaint |
| Customer informed | outcome sent with the document numbers; complaint closed on the customer's confirmation or after 5 working days |
| Component | Trigger → action → outcome |
|---|---|
| btn_submit | on click → read the order lines and the customer's open returns → create the complaint, assign the owner by type, start the 2-day clock |
| grd_order_lines | on load → compare the unit price with the price condition valid on the order date → flag the lines that differ |
| dd_resolution | on change → show the amount or quantity fields the option needs → route to the manager when the credit passes 5,000 |
| btn_create_documents | on click → call the sales document interface with the resolution → store the document numbers, send S05 to the customer |
| Step | Time limit and escalation |
|---|---|
| First response | 4 working hours, then the customer service manager is copied |
| Investigation | 2 working days, then the complaint escalates to the investigator's lead |
| Resolution | 5 working days in total, then the complaint appears on the board in red |
Names, places and figures are illustrative; the pattern is the catalogue's.
At 08:50 a wholesaler in Leeds raised a complaint on the portal: 3 pallets short on an order delivered the day before. Sophie in customer service saw within minutes that the order confirmed 40 pallets against 43 requested, and that the customer had been told about the 3 in a note on the order line, so she chose an explanation plus a replacement line for the 3 pallets, dated 2 days out. The replacement line appeared on the order at 09:30, the customer had the outcome by 09:35, and the board showed the same customer with 2 short deliveries that quarter, which the account manager took to the next review.
The objects with their real names, the criteria in that system's fields, the write interface and what to set up first.
Customer master read from Account; CRM.
Open the Salesforce page →Customer master read from KNA1 · KNB1 · KNVV; also on SAP ECC.
Open the S/4HANA page →Customer master read from Receivables REST: receivablesCustomerAccounts · TCA parties; also on Oracle E-Business Suite.
Open the Oracle Fusion page →Customer master read from CONFORMED.CUSTOMER; lakehouse.
Open the Snowflake page →Other systems connect through the same handlers; see how SmartApps connect.
About 30 minutes to a first running screen on your live rows, and 5 working days to the production-grade version described here, most of it spent agreeing screens and criteria with the process owner.
Any of Salesforce, SAP S/4HANA, Oracle Fusion Cloud, Snowflake, with the objects read in place; the pages above show the objects and the write path for each. Two systems at once is one handler per object per system.
Roles on portal screens see only the rows the access policy allows, and their steps are logged like everyone else's.
Every step, value, decision, notification and write-back acknowledgement of every instance, with the version of the app, append-only.
Bring the process and the systems it touches. In the first session we register the data handlers, draw the levels or the lanes and run the first screen on your live rows.