Skip ke Konten
Odoo Menu
  • Login
  • Uji coba gratis
  • Aplikasi
    Keuangan
    • Akuntansi
    • Faktur
    • Pengeluaran
    • Spreadsheet (BI)
    • Dokumen
    • Tanda Tangan
    Sales
    • CRM
    • Sales
    • POS Toko
    • POS Restoran
    • Langganan
    • Rental
    Website
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Rantai Pasokan
    • Inventaris
    • Manufaktur
    • PLM
    • Purchase
    • Maintenance
    • Kualitas
    Sumber Daya Manusia
    • Karyawan
    • Rekrutmen
    • Cuti
    • Appraisal
    • Referensi
    • Armada
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Acara
    • Otomatisasi Marketing
    • Survei
    Layanan
    • Project
    • Timesheet
    • Layanan Lapangan
    • Meja Bantuan
    • Planning
    • Appointment
    Produktivitas
    • Diskusi
    • Approval
    • IoT
    • VoIP
    • Pengetahuan
    • WhatsApp
    Aplikasi pihak ketiga Odoo Studio Platform Odoo Cloud
  • Industri-Industri
    Retail
    • Toko Buku
    • Toko Baju
    • Toko Furnitur
    • Toko Kelontong
    • Toko Hardware
    • Toko Mainan
    Makanan & Hospitality
    • Bar dan Pub
    • Restoran
    • Fast Food
    • Rumah Tamu
    • Distributor Minuman
    • Hotel
    Real Estate
    • Agensi Real Estate
    • Firma Arsitektur
    • Konstruksi
    • Estate Management
    • Perkebunan
    • Asosiasi Pemilik Properti
    Konsultansi
    • Firma Akuntansi
    • Mitra Odoo
    • Agensi Marketing
    • Firma huku
    • Talent Acquisition
    • Audit & Sertifikasi
    Manufaktur
    • Tekstil
    • Logam
    • Perabotan
    • Makanan
    • Brewery
    • Corporate Gift
    Kesehatan & Fitness
    • Sports Club
    • Toko Kacamata
    • Fitness Center
    • Wellness Practitioners
    • Farmasi
    • Salon Rambut
    Perdagangan
    • Handyman
    • IT Hardware & Support
    • Sistem-Sistem Energi Surya
    • Pembuat Sepatu
    • Cleaning Service
    • Layanan HVAC
    Lainnya
    • Organisasi Nirlaba
    • Agen Lingkungan
    • Rental Billboard
    • Fotografi
    • Penyewaan Sepeda
    • Reseller Software
    Browse semua Industri
  • Komunitas
    Belajar
    • Tutorial-tutorial
    • Dokumentasi
    • Sertifikasi
    • Pelatihan
    • Blog
    • Podcast
    Empower Education
    • Program Edukasi
    • Game Bisnis 'Scale Up!'
    • Kunjungi Odoo
    Dapatkan Softwarenya
    • Download
    • Bandingkan Edisi
    • Daftar Rilis
    Kolaborasi
    • Github
    • Forum
    • Acara
    • Terjemahan
    • Menjadi Partner
    • Layanan untuk Partner
    • Daftarkan perusahaan Akuntansi Anda.
    Dapatkan Layanan
    • Temukan Mitra
    • Temukan Akuntan
    • Temui penasihat
    • Layanan Implementasi
    • Referensi Pelanggan
    • Bantuan
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Dapatkan demo
  • Harga
  • Bantuan

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

  • CRM
  • e-Commerce
  • Akuntansi
  • Inventaris
  • PoS
  • Project
  • MRP
All apps
Anda harus terdaftar untuk dapat berinteraksi di komunitas.
Semua Post Orang Lencana-Lencana
Label (Lihat semua)
odoo accounting v14 pos v15
Mengenai forum ini
Anda harus terdaftar untuk dapat berinteraksi di komunitas.
Semua Post Orang Lencana-Lencana
Label (Lihat semua)
odoo accounting v14 pos v15
Mengenai forum ini
Help

Edit the Final Price in quotation lines and automatically update the discount

Langganan

Dapatkan notifikasi saat terdapat aktivitas pada post ini

Pertanyaan ini telah diberikan tanda
accountingdiscountquotation
1 Balas
576 Tampilan
Avatar
George Geitonas

Hi everyone,


I’m working with Odoo (v18,v19) and I’ve noticed that in quotation/order lines you can only change the discount percentage — not the final unit price directly.


What I’d like to do is the opposite:

👉 Enter the final price per unit, and have Odoo automatically calculate the discount based on the list price.


Example:

  • Product list price = €100
  • I type the final price = €85
  • Odoo automatically sets the discount to 15%


Has anyone already implemented this behavior or knows how to achieve it (e.g. via Studio, automated action, or a small customization)?


Thanks in advance for any ideas or examples!

0
Avatar
Buang
Avatar
Cybrosys Techno Solutions Pvt.Ltd
Jawaban Terbai

Hi,


You can achieve this with a lightweight Odoo customization using @api.onchange.

Here’s the Python code for a small module that adds this behavior.

from odoo import api, fields, models

class SaleOrderLine(models.Model):

    _inherit = "sale.order.line"


    final_price = fields.Float(

        string="Final Unit Price",

        help="Enter the final selling price per unit; discount will be calculated automatically."

    )

    @api.onchange('final_price')

    def _onchange_final_price(self):

        for line in self:

            if line.final_price and line.product_id:

                list_price = line.product_id.lst_price

                if list_price > 0:

                    discount = (1 - (line.final_price / list_price)) * 100

                    line.discount = discount

                    line.price_unit = list_price

                else:

                    line.discount = 0.0

* Adds a new field final_price on sale order lines.

* When you enter a final_price, it:

          -Sets the Unit Price to the product’s list price.

          -Calculates and fills the Discount % field automatically.

* This ensures accounting, taxes, and reports continue to use Odoo’s built-in fields.

Option 2 — Odoo Studio (No Code Alternative)

If you use Odoo Enterprise, you can implement a simpler version with Odoo Studio:

    Open Sales → Orders → Order Lines.

    Activate Studio and add a new field called Final Price.

    Add an Automated Action (triggered on change of Final Price) with Python code:

if record.product_id and record.final_price:

    list_price = record.product_id.list_price or 0

    if list_price > 0:

        record.discount = (1 - (record.final_price / list_price)) * 100

        record.price_unit = list_price

    Save and test — when you edit Final Price, Odoo will auto-calculate the discount.


Related module:-

* https://apps.odoo.com/apps/modules/18.0/sale_discount_total


Hope it heps

1
Avatar
Buang
Menikmati diskusi? Jangan hanya membaca, ikuti!

Buat akun sekarang untuk menikmati fitur eksklufi dan agar terlibat dengan komunitas kami!

Daftar
Post Terkait Replies Tampilan Aktivitas
Journal Entries on Discounts Diselesaikan
accounting discount
Avatar
Avatar
1
Nov 20
5453
Difference between purchases quotation & sales quotation? Diselesaikan
accounting v7 quotation
Avatar
Avatar
1
Mar 23
24598
Hide discounts on order lines on quotations/invoices?
discount quotation invisible
Avatar
Avatar
1
Mar 15
10785
Crazy number of decimals
sales accounting discount decimals
Avatar
Avatar
1
Agu 23
2100
[Odoo14 CE] Global / Line Discount for Sale/Purchase/Account
accounting discount customization v14
Avatar
0
Sep 21
2042
Komunitas
  • Tutorial-tutorial
  • Dokumentasi
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Terjemahan
Layanan
  • Odoo.sh Hosting
  • Bantuan
  • Peningkatan
  • Custom Development
  • Pendidikan
  • Temukan Akuntan
  • Temukan Mitra
  • Menjadi Partner
Tentang Kami
  • Perusahaan kami
  • Aset Merek
  • Hubungi kami
  • Tugas
  • Acara
  • Podcast
  • Blog
  • Pelanggan
  • Hukum • Privasi
  • Keamanan
الْعَرَبيّة 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 adalah rangkaian aplikasi bisnis open source yang mencakup semua kebutuhan perusahaan Anda: CRM, eCommerce, akuntansi, inventaris, point of sale, manajemen project, dan seterusnya.

Mudah digunakan dan terintegrasi penuh pada saat yang sama adalah value proposition unik Odoo.

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