# Reclamation todo

## Pohdintaa: Reklamaatioiden määrä suhteessa myyntirivien määrään ja/tai tuotteiden kappale määrään

Miksi raportilla ei pääse porautumaan tuotetasolle saakka?

Ovatko reklamaatiot kiinteästi yhteydessä toimituksiin? Eli kun tarkastellaan vaikka 2024 reklamaatioita, näyttääkö raportti vain 2024 toimituksiin liittyvät reklamaatiot vai onko mukana myös aiempien vuosien toimitusten reklamaatiot jotka on tulleet vasta vuoden 2024 aikana tietoon? Vastaus: kyllä ja ei.

Jos reklamaatioita ei kytketä toimituksiin, niiden juurisyytä on vaikea löytää. Mikäli kytkentää ei ole ja jonkin tuotteen reklamaatiot lisääntyvät huomattavasti, voidaan tutkia onko tuotantoprosessissa tapahtunut muutoksia esim. materiaaleissa tai valmistustekniikassa. Jos kyseessä on "kausituotteet" kuten venepeitto joka kenties ostetaan keväällä veneen yhteyssä mutta otetaan käyttöön vasta syksyllä, on reklamaatioiden yhdistäminen muutoksiin vaikeaa mikäli reklamaatioita ei kytketä toimituksiin.

Pohdintaa: Olettaen että reklamaatio kytketään aina toimitukseen, kannattaisiko reklamaatio näyttää aina sen toimitukseen liittyvän kuukauden kohdalla? Eli jos tänään vastaanotetaan reklamaatio joka koskee joulukuun 2024 toimitusta, se näkyisi tilastossa joulukuun 2024 kohdalla. Jos halutaan näyttää reklamaatiotilastot sen vastaanottopäivän perusteella, tämä voidaan aktivoida erillisellä valinnalla.

Reklamaatioiden vertailu

- reklamaatioiden määrä / myyntirivien määrä
  - tämä vertailu ei ota kantaa reklamoitujen kappaleiden määrään vaan vertailee kuinka suuri osa tuotantoeristä on jollain tapaa viallisia
- reklamoitujen kappaleiden määrä / toimitettujen kappaleiden määrä
  - tällä vertailulla nähdään miten suuri osa valmistetuista kappaleista on viallisia

Vertailujakso:

- Jos veneen talvipeite on toimitettu keväällä, mutta paketti avataan ja otetaan käyttöön vasta marraskuussa, mitä aikaväliä pitäisi reklamaatioraportissa käyttää?
  - Voisiko aikajakso olla vuoden alusta tähän hetkeen?
    - esim, tammi-huhtikuu aikavälivalinta näyttää sen aikavälin reklamaatiot.
    - vertailuna on sitten sama aikaväli edellisenä vuonna

- Jos oletaan että reklamaatiot ovat yhteydessä toimituksiin, voidaan valita aikajakson:
  - toimitukset jolloin raportti näyttää niihin liittyvät reklamaatiot.
    - tässä raportissa näkyvät kaikki toimitukset, myös ne joista ei ole tullut reklamaatioita
  - reklamaatiot jolloin raportti näyttää niihin liittyvät toimitukset
    - raportti ei näytä toimituksia joista ei ole tullut reklamaatioita
  - tämän voisi toteuttaa valintarastilla "show only reclamations"

## Heli answer

Hei,
Tähän on jäänyt minulta palaamatta aikaisemmin.

Arvoraportissa suhde omakustannushintaan. —> korjauskulujen hinta yht verrattuna myyntirivin toimitetun määrän omakustannukseen

Prosenttilaskentaan lisähuomiona

- reklamoitu, korjattu, hyvlätty - nämä voisi laittaa päällekäin pinotuksi pylvääksi? —> korjattu ensin, hylätty seuraavaksi. Saako yhteismäärän (virheellisten lukumäärä) näkyviin?

Osa ulkoisista asiakkailta tulevista jää laskennan ulkopuolelle, jos yhteismäärä lasketaan korjatusta ja hylätystä. Korjattujen ja hylättyjen yhteismäärä ei ole sama kuin virheellisten määrä.

Esimerkki: asiakas reklamoi virheestä, mutta hän ei palaa sen jälkeen asiaan, jolloin virheellinen ei ole korjattu eikä hylätty vaan jää käyttöön sellaisenaan:
Virheellisten lukumäärä 1.
0 korjattu —> korjaus
0 hylätty —> korvattu uudella tai hyvitys
1 käytetään sellaisenaan —> ei vaateita tai osahyvitys

## Todo

- [ ] show different columns depending recpamation type
- [ ] type as text to list
- [x] customer to dropdown
- [x] prod group to dropdown
  - [ ] multiple dropdown
- [x] add link field to grid to reclamation_id
- [ ] add reclamation type multi select dropdown
  - internal, sales, purchase
- [ ] color palette dropdown
- [ ] Report dropdown
  - [x] count of reclamations (quantity)
    - [x] monthly
    - [x] cumulative
  - [ ] reclamation percentage
    - [ ] expenses from the field Kaikki kustannukset yhteensä (Total Expenses)
    - [ ] number of reclamations vs. number of sales lines, maybe show 58/500 = 11.6%
    - [ ] number of reclamation defective product count vs. number of sales order line ordered (delivered) product = 10/100 = 10%
  - [ ] value
    - [ ] value = Total Expenses €
    - [ ] value vs. sales line total
    - [ ] value vs. cost of goods sold total
      - [ ] value report only for those with value vs. status vs. type
- [ ] pasi: set start date 5 years back by default, starting from January
- [ ] Table: Sales/Purchase report field type should be DropDown for Reclamation report and Delivery reliability

## VA-Varuste vaatimukset

VA-Varuste käsittelee reklamaatiot siten että reklamoitujen kappaleiden määrä tallennetaan. Eli jos tulee 1 reklamaatio, jossa ilmoitetaan että tuotetta X on 20 viallisia niin Virheellisten lukumäärä tallennetaan. Lisäksi tallennetaan Korjattavien määrä ja näiden erotuksena on Hylättyjen määrä. Tämän laskenta toimii siten että kahden arvon perusteella saadaan kolmas.

Jotta seuranta toimii, täytyy reklamaatio yhdistää myyntitilaukseen.

Reclamation count:

- Reklamaatioiden määrä
- Ei ota kantaa reklamoitujen kappaleiden määrään.
- Tästä saadaan osviittaa kuinka kuinka suuri osa tuotantoeristä on jollain tapaa viallisia

Reclamation percentage:

- Reklamoidut kappaleet / toimitettujen kappaleiden määrä / kuukausi
- Kuvaajan palkki näyttää vasemmalla y-akselilla toimitettujen kappaleiden kokonaismäärän ja oikealla y-akselilla reklamoitujen kappaleiden kokonaismäärän. Kappalemäärät ja prosentti näkyy palkissa numeroina

Reclamation value:

- Tässä sama periaate kuin Claimed items, mutta kappalemäärän sijaan käsitellään tuotteiden omakustannushintaa
- korjauskulujen hinta voidaan näyttää osana korjattujen hintaa tai se voidaan aktivoida valintarastilla

Claimed items:

- Reklamoidut kappaleet / kuukausi
- Kuvaajan palkissa:
  - alaosassa korjattu määrä
  - yläosassa hylätty määrä
  - nämä yhteensä on reklamaatio kappaleet yhteensä per kuukausi
  - palkkiin näkyviin myös kappaleiden lukumäärä numerona

### grid sarakejärjestys

Reklamaatiotaulun sarakejärjestys johdonmukaisena ja käsittelyä, raportointia ja analysointia nopeuttavassa järjestyksessä olisi seuraava:

- Tunnus
- Tyyppi
- Tila
- Luontipäivä
- Tekijä
- Asiakas
- Nimi
- Tuote
- Myyntitilaus
- Valmistuserä
- Virheellisten lukumäärä
- Virheen hav. kuorm. ryh.
- Virh. tehnyt kuor.
- Virhetyyppi
- Virheen syy
- Työntekijän kuvaus virheen syistä
- Asiakkaan kuvaus virheen syistä
- Käsittelijän kuvaus virheen syistä
- Toistumisen estävät toimenpiteet
- Loppukäs.pv
- Käsittelijä
- Toimittajan koko nimi ja osoite
- Tuotetunnus
- Virheen kuvaus
- Korjattavien määrä2
- Hylättyjen määrä2
- Korjauskulujen hinta yht
- Materiaalin OK
- Kaikki kustannukset yhteensä

Lisättävät sarakkeet

- [ ] etsi: table/external/4d/product/reclamation.json
- [ ] lisää: form/nc/report/nc-report/reclamation/column/reclamation.json
- Toimittaja
- Ostettu määrä
- Virheellistä käytetty
- Ostotilauksen toimenpiteet
- Korjaustoimenpiteet
- Raaka-aineen korvaus
- Työn OK-arvo
- Toimittajan hyvitys yht.

Asiakasreklamaatio raportissa näkyvät tiedot:

- Tunnus
- Tyyppi
- Tila
- Luontipäivä
- Tekijä
- Asiakas
- Nimi
- Tuote
- Myyntitilaus
- Valmistuserä
- Virheellisten lukumäärä
- Virh. tehnyt kuor.
- Virhetyyppi
- Virheen syy
- Työntekijän kuvaus virheen syistä
- Asiakkaan kuvaus virheen syistä
- Käsittelijän kuvaus virheen syistä
- Toistumisen estävät toimenpiteet
- Loppukäs.pv
- Käsittelijä
- Korjattavien määrä2
- Hylättyjen määrä2
- Korjauskulujen hinta yht
- Materiaalin OK
- Kaikki kustannukset yhteensä

Sisäisen reklamaation raportissa näkyvät tiedot:

- Tunnus
- Tyyppi
- Tila
- Luontipäivä
- Tekijä
- Asiakas
- Nimi
- Tuote
- Myyntitilaus
- Valmistuserä
- Virheellisten lukumäärä
- Virheen hav. kuorm. ryh.
- Virh. tehnyt kuor.
- Virhetyyppi
- Virheen syy
- Työntekijän kuvaus virheen syistä
- Käsittelijän kuvaus virheen syistä
- Toistumisen estävät toimenpiteet
- Loppukäs.pv
- Käsittelijä
- Korjattavien määrä2
- Hylättyjen määrä2
- Korjauskulujen hinta yht
- Materiaalin OK
- Kaikki kustannukset yhteensä

Toimittajareklamaatio raportissa näkyvät tiedot:  + lisäykset näyttökuvasta

- Tunnus
- Tyyppi
- Tila
- Luontipäivä
- Tekijä
- Loppukäs.pv
- Käsittelijä
- Toimittajan koko nimi ja osoite
- Tuotetunnus
- Virheen kuvaus
- Korjattavien määrä2
- Hylättyjen määrä2
- Korjauskulujen hinta yht
- Materiaalin OK
- Kaikki kustannukset yhteensä
- Toimittaja
- Ostettu määrä
- Virheellistä käytetty
- Ostotilauksen toimenpiteet
- Korjaustoimenpiteet
- Raaka-aineen korvaus
- Työn OK-arvo
- Toimittajan hyvitys yht.

## Calculation rules

### Finnish

Prosenttilaskennassa voidaan verrata:

- hylättyjen määrää myyntirivin tilattuun tai toimitettuun määrä. —> toimitettuun määrään
- reklamoitu, korjattu, hylätty - nämä voisi laittaa päällekäin pinotuksi pylvääksi? —> korjattu ensin, hylätty seuraavaksi. Saako yhteismäärän (virheellisten lukumäärä) näkyviin?
- hylättyjen määrää työmääräimen johonkin (tehtyyn?) määrään —> ei
- relkamaatioiden määrää linkatun myynttilauksen myyntirivien määrään —> ei
- relkamaatioiden määrää kaikkien aikavälin myynttilauksen myyntirivien määrään —> ei
- edellsivet rivien määrän sijaan kappalemääriin —> reklamaatioiden määrää kaikkien aikavälin myyntitilauksen kappalemääriin. Päätettävä vielä, mistä laskee reklamaatioiden aikavälin ja mihin aikaväliin verrataan? Lasketaan luontipäivää, mutta mihin voi verrata. Sisäiset ja ulkoiset tulee ilmi eri aikaan.

- varmaan löytyy vielä muita vertailutapoja:

### English

In percentage calculation, we can compare:

- the number of rejected items to the ordered or delivered quantity of a sales order line.
  —> to the delivered quantity
- reclamated, corrected, rejected - could these be placed on top of each other as a stacked column?
  —> corrected first, rejected next. Can we see the total number (number of incorrect items)?
- the number of rejected items to some (completed?) quantity in a work order
  —> no
- the number of reclamations to the number of sales order lines in a linked sales order
  —> no
- the number of reclamations to the number of sales order lines in all sales orders within a time period
  —> no
- instead of the number of sales order lines, to the number of units
  —> the number of reclamations to the number of units in all sales orders within a time period. We still need to decide from where to calculate the time period for reclamations and to which time period to compare? We calculate the creation date, but what can we compare it to? Internal and external issues become apparent at different times.
- there are probably other ways to compare
- Then the same set of values and information about which fields each value is retrieved from.

## Messages

Hi,

If by value report you mean costs, then they have come from the following sections in the Excel report according to the fields shown in the images:
no: Korjauskulujen hinta yht (Total Repair Costs)
yes: Kaikki kustannukset yhteensä (Total Expenses)

For Kuopio, the Korjauskulujen á-hinta (Repair Price/Unit) should be updated from €25 to €28. I just discussed this with Ville, and that would be closer to the actual costs, even if it's not based on a precise calculation of the labor costs of different load groups.
For Poland, I will ask for a verification of the Repair Price/Unit from Poland.

I'm not sure why material costs are not also in the Materiaalin OK (Material OK) field for external reclamations. Perhaps it's because the Materiaalin OK field is greyed out in external reclamations, and costs couldn't be entered there.
It would certainly clarify the process in the future if both internal and external material costs were in the same Materiaalin OK field.

For internal reclamations, material costs are entered in the Materiaalin OK field.

## Change Request - 2025-04-11

- [ ] DropDown of Customer name (before or after the date)

Customer graphics look good as long as you can select the type. Now the graphics show the customer and internal, when the main need would be to make the graphics show the customer, so that the graphics can be utilized in the direction of the customer.
To print the customer's name, e.g. before the date (or after the date is also possible):

In product group graphics, the need to have both selected together and, if necessary, internal or customer separately:

I also tested the row data in Excel. There are structured views for internal, customer and also supplier. The rows are printed out monthly for discussion in the meeting.
Should we watch them only after we get the first graphics fixed or what?

Was the clarification in the value report taken into account that the point of comparison would be the OK cost of the work instead of the sales price?

![Reklamaatiot Tyyny](image/reklamaatiot-tyyny.jpg)
![Reklamaatiot Saxdor](image/reklamaatiot-saxdor.jpg)

---

## Change Request - 2025-04-06

Hi Pasi,

Regarding the number of reclamations as a percentage, based on the quantity (pcs) associated with work orders:

stacked bars: <https://echarts.apache.org/examples/en/editor.html?c=bar-stack-normalization>

The number of incorrect items associated with work orders relative to the delivered quantity (pcs) of sales order lines associated with work orders. This calculates the percentage of defective manufactured products in pieces. (includes e-commerce products manufactured via work orders) Does this make sense?
Should we also measure incorrect deliveries as a percentage of the number of sales order lines for those items without in-house manufacturing?

The number of incorrect sales order lines without work orders relative to the total number of delivered sales order lines without work orders. Or should it be by product quantity? As the product quantity here could be, for example, 10 pcs, 100 pcs, or 5 meters.
For the Target vs. Actual graph, it was tricky to figure out what would represent it well, since the goal is achieved by being below the set value. The target: the lower the percentage, the better. The graph could be a 'Set Style of Single Bar' <https://echarts.apache.org/examples/data/thumb/bar-data-color.webp?_v_=1742384061725> Target eg, under 10%; when the value exceeds it, the color changes to red. Target 10% with a highlighted line (like in the example image).

Another option <https://echarts.apache.org/examples/data/thumb/gauge-speed.webp?_v_=1742384061725> or <https://echarts.apache.org/examples/data/thumb/gauge-multi-title.webp?_v_=1742384061725> At the top center would be the target max. 10% Scale 0-20%, eg, 2, 4, 6, 8, 10, 12, 14, 16, 18. Or Wherever the percentages initially Settle once the calculation is working correctly.

In the value report, show the ratio relative to the cost price.

Additionally, Let's add 'Type' and 'Status', which we already discussed last week.

'Product group' selection: make it possible to select one or more.

Add the customer name to the customer report. The goal there is also to get separate monthly reports for factory customers and key customers ('top customers'). Is it possible to create a predefined group for this somehow, so that one doesn't always have to select multiple customers from the list?

TODO: List:

- Radio - Data Calculation type:
  - Total Charges
  - Cumulative
  - Percentage
- Radio - Data type:
  - Total charges
  - Repair amount
  - Rejected amount
- DropDown - Data metric type:
  - PCS/Meter
  - Count Based
- DropDown - Data metric type:
  - PCS/Meter
  - Count Based
- Add DropDown: field to filter data
  - With in-house manufacturing
  - Without in-house manufacturing
- Add chart Type: field to filter data
  - Bar
  - Line
- Add Status field
- Product group: DropDown Should be Multi-select (select One or more item)
- Add Field: customer name to the report (Search and filter)
- Monthly report for customer: By Search and filter or Top Customer: Calculate top customer and filter data
- Report Generation from Customer Group (Predefined or Template)
- Target vs. Actual graph: Highlight a target threshold (e.g., 10%) with a bar, Bar color logic: Blue if less than target, Red if higher than target
