Siirry sisältöön
Odoo Menu
  • Kirjaudu sisään
  • Kokeile ilmaiseksi
  • Sovellukset
    Talous
    • Kirjanpito
    • Laskutus
    • Kulut
    • Datataulukot (BI)
    • Asiakirjat
    • Allekirjoita
    Myynti
    • CRM
    • Myynti
    • Kassajärjestelmä myymälään
    • Kassajärjestelmä ravintolaan
    • Tilaukset
    • Vuokraus
    Verkkosivut
    • Verkkosivun Rakennustyökalu
    • Verkkokauppa
    • Blogi
    • Foorumi
    • Livechat
    • Verkko-oppiminen
    Toimitusketju
    • Varastointi
    • Tuotanto
    • Tuotteen elinkaaren hallinta (PLM)
    • Ostot
    • Huolto
    • Laatu
    Henkilöstöhallinto
    • Työntekijät
    • Rekrytointi
    • Vapaat
    • Arvioinnit
    • Suositukset
    • Kuljetuskalusto
    Markkinointi
    • Somemarkkinointi
    • Sähköpostimarkkinointi
    • Tekstiviestimarkkinointi
    • Tapahtumat
    • Markkinoinnin automaatio
    • Kyselyt
    Palvelut
    • Projekti
    • Työaikakirjaukset
    • Kenttähuolto
    • Asiakaspalvelu
    • Suunnittelu
    • Ajanvaraukset
    Tuottavuus
    • Viestintä
    • Hyväksynnät
    • IoT
    • IP-puhe
    • Tietokirjasto
    • WhatsApp
    Kolmannen osapuolen sovellukset Odoo-Studio Odoo-Pilvialusta
  • Toimialat
    Vähittäiskauppa
    • Kirjakauppa
    • Vaatekauppa
    • Huonekaluliike
    • Ruokakauppa
    • Laitteistokauppa
    • Lelukauppa
    Ruoka & Majoitus
    • Baari ja Pubi
    • Ravintola
    • Pikaruoka
    • Majatalo
    • Juomien jakelija
    • Hotelli
    Kiinteistöt
    • Kiinteistönvälitystoimisto
    • Arkkitehtitoimisto
    • Rakentaminen
    • Kiinteistönhallinta
    • Puutarhanhoito
    • Kiinteistön omistajien yhdistys
    Konsultointi
    • Tilitoimisto
    • Odoo-kumppani
    • Markkinointitoimisto
    • Lakitoimisto
    • Osaajahankinta
    • Tilintarkastus & sertifiointi
    Tuotanto
    • Tekstiili
    • Metalli
    • Huonekalut
    • Ruoka
    • Panimo
    • Yrityslahjat
    Terveys & Liikunta
    • Urheiluseura
    • Silmälasiliike
    • Kuntokeskus
    • Hyvinvointialan ammattilaiset
    • Apteekki
    • Kampaamo
    Kaupat
    • Yleismies
    • IT-laitteisto & Tuki
    • Aurinkoenergiajärjestelmät
    • Suutari
    • Siivouspalvelut
    • LVI-palvelut
    Muut
    • Voittoa tavoittelematon järjestö
    • Ympäristötoimisto
    • Mainostaulujen vuokraus  
    • Valokuvaus
    • Leasing-pyörät
    • Ohjelmistojen jälleenmyyjä
    Selaa kaikkia toimialoja
  • Yhteisö
    Opi
    • Kurssit
    • Dokumentaatio
    • Todistukset
    • Koulutus
    • Blogi
    • Podcast
    Kannusta kouluttautumaan
    • Koulutusohjelmat
    • Scale Up! Liiketoimintapeli
    • Vieraile Odoolla
    Hanki ohjelmisto
    • Lataa
    • Vertaile versioita
    • Julkaisut
    Tee yhteistyötä
    • Github
    • Foorumi
    • Tapahtumat
    • Käännökset
    • Ryhdy kumppaniksi
    • Kumppanipalvelut
    • Rekisteröi tilitoimistosi
    Hanki palveluja
    • Löydä kumppani
    • Löydä kirjanpitäjä
    • Varaa asiantuntijatapaaminen
    • Implementaatiopalvelut
    • Asiakasreferenssit
    • Tuki
    • Versionkorotukset
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Varaa demo
  • Hinnoittelu
  • Asiakaspalvelu

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Kirjanpito
  • Varastointi
  • PoS
  • Projekti
  • MRP
All apps
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Kaikki kirjoitukset Ihmiset Merkit
Tunnisteet (Näytä kaikki)
odoo accounting v14 pos v15
Tietoa tästä foorumista
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Kaikki kirjoitukset Ihmiset Merkit
Tunnisteet (Näytä kaikki)
odoo accounting v14 pos v15
Tietoa tästä foorumista
Apua

Need Help Finding Which POS Method to Override for Custom KOT

Tilaa

Saat ilmoituksen, kun tähän viestiin ilmaantuu aktiviteettia

Tämä kysymys on merkitty
posprintingpoint_of_salekot
1 Vastaa
380 Näkymät
Avatar
Dumith Sachinthaka

Hi everyone,

I’m looking for a solution related to customizing the POS KOT (Kitchen Order Ticket) in Odoo.

I need to customize the POS so that when the user clicks the “Order” button, the KOT order data is sent to an external WebSocket URL.

Right now I’m stuck because I can’t figure out which method or function I need to override to capture the KOT data at the moment the order is submitted to the kitchen printer.

Any help or direction would be greatly appreciated. Thanks!

0
Avatar
Hylkää
Codesphere Tech

Hello,
Can you elaborate more what you want to customize?

Codesphere Tech

This is the method which is used to sent the order to kitchen display in odoo 19 PoS

async sendOrderInPreparation(order, opts = {}) {
let categoryCount = [];
if (!opts.cancelled) {
categoryCount = this.categoryCount;
}
const result = await super.sendOrderInPreparation(order, opts);

if (this.config.module_pos_restaurant && categoryCount.length) {
const categorySummary = categoryCount
.map((cat) => `${cat.count} ${cat.name}`)
.join(_t(", "))
.replace(/, ([^,]*)$/, _t(" and $1"));
this.notification.add(_t("%s, sent to the kitchen", categorySummary), {
type: "success",
});
}
return result;
},
Hope it helps.

Dumith Sachinthaka
Tekijä

Hello, thanks for the response.

I want to customize the POS KOT (Kitchen Order Ticket) workflow.

When the cashier clicks the “Order” button in the POS, Odoo normally sends the KOT to the kitchen printer.

What I need is:

  • At the moment the Order button is clicked,

  • I want to capture the KOT order data (products, qty, table, notes, etc.),

  • And then send that data to my external WebSocket URL.

So I need to know which Odoo POS JavaScript method handles this KOT send action, so I can override it and add my WebSocket request.

Thanks again for your help.

Avatar
Cybrosys Techno Solutions Pvt.Ltd
Paras vastaus
Hi,

To customize the POS KOT in Odoo and send order data to an external WebSocket URL upon clicking the "Order" button, you'll need to override the appropriate method within the POS module. Start by identifying the method responsible for sending KOT data to the kitchen printer, likely involving order formatting and printing processes. Then, create a new module or customize an existing one to inherit the relevant POS model, utilizing the patch function to override the identified method without altering core files directly.

Within the overridden method, retrieve the KOT data, and implement WebSocket logic to establish a connection with your specified URL. Convert the KOT data to a JSON string using JSON.stringify() and transmit it through the WebSocket connection, ensuring proper error handling for connection issues. Finally, deploy the JavaScript file within your module's static/src/js directory, add it to your module's assets in the __manifest__.py file, and update your module in Odoo. Thoroughly test these changes in a development environment before deploying to production, and consider security measures if transmitting sensitive data.

Try the following Code:-

/** @odoo-module **/

import { patch } from "@web/core/utils/patch";
import { PosComponent } from "@point_of_sale/app/pos/pos_component"; // Replace with the correct path
import { Order } from "@point_of_sale/app/store/model"; // Replace with the correct path

patch(Order.prototype, 'your_module.Order', {  // Use Order.prototype
    async export_for_printing() {
        const result = await super.export_for_printing(...arguments); // Get the original result
        // Your custom logic here
        const kotData = result; // Assuming 'result' contains the KOT data

        // Send KOT data to WebSocket
        this.sendKotToWebSocket(kotData);

        return result;
    },
    sendKotToWebSocket(kotData) {
        // Implement your WebSocket sending logic here
        const websocketURL = "YOUR_WEBSOCKET_URL";
        const socket = new WebSocket(websocketURL);

        socket.onopen = () => {
            socket.send(JSON.stringify(kotData));
            socket.close(); // Close the connection after sending
        };

        socket.onerror = (error) => {
            console.error("WebSocket error:", error);
        };
    },
});

Hope it helps

0
Avatar
Hylkää
Nautitko keskustelusta? Älä vain lue, vaan osallistu!

Luo tili jo tänään nauttiaksesi yksinoikeusominaisuuksista ja osallistuaksesi mahtavaan yhteisöömme!

Rekisteröidy
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
POS Kitchen Order Ticket
pos kot
Avatar
Avatar
Avatar
Avatar
3
jouluk. 25
2606
How to update point of sale order state?
pos point_of_sale
Avatar
Avatar
1
marrask. 25
703
Is there any method to modify the KOT kitchen order ticket template in odoo 17
point_of_sale kot
Avatar
Avatar
Avatar
2
heinäk. 25
1227
Pos product shows 0.0 units sold
pos point_of_sale
Avatar
Avatar
Avatar
3
huhtik. 25
2048
How to have checkboxes for the variables of each product
pos point_of_sale
Avatar
Avatar
1
elok. 24
3148
Yhteisö
  • Kurssit
  • Dokumentaatio
  • Foorumi
Avoin lähdekoodi
  • Lataa
  • Github
  • Runbot
  • Käännökset
Palvelut
  • Odoo.sh hosting
  • Tuki
  • Versionkorotus
  • Räätälöidyt kehitykset
  • Koulutus
  • Löydä kirjanpitäjä
  • Löydä kumppani
  • Ryhdy kumppaniksi
Meistä
  • Yrityksemme
  • Brändiominaisuudet
  • Ota yhteyttä
  • Työpaikat
  • Tapahtumat
  • Podcast
  • Blogi
  • Asiakkaat
  • Oikeudellinen ilmoitus • Yksityisyys
  • Tietoturva
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo on kokoelma avoimen lähdekoodin yrityssovelluksia, jotka kattavat kaikki yrityksesi tarpeet: asiakkuudenhallinta eli CRM, verkkokauppa, kirjanpito, varastointi, kassajärjestelmä, projektinhallinta, jne.

Odoon uniikki arvolupaus on olla samanaikaisesti erittäin helppokäyttöinen ja täysin integroitu.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now