Extensii pentru stabilirea prețurilor

Stabilirea prețurilor în Odoo este guvernată de Preț de vânzare al produsului și de listele de prețuri. Modulele eYssen din această pagină extind acest mecanism cu etichete de listă de prețuri, o ordine a regulilor explicită, o a doua monedă a prețului, un tabel de perechi de monede fixe, prețuri din listele de prețuri afișate pe produs, importuri din foi de calcul și un istoric al prețurilor complet.

Etichetele listei de prețuri

eyssen_product_pricelist_tag permite aplicarea unei reguli din lista de prețuri unei etichete, în loc de un singur produs, o singură variantă sau o întreagă categorie de produse — astfel, o reducere poate urmări un grup de produse ales liber, care depășește limitele categoriilor.

Etichetele sunt întreținute în Vânzări ‣ Configurare ‣ Etichete listă de prețuri; fiecare are un nume de Etichetă traductibil și o Culoare. Produsele poartă Etichete listă de prețuri pe formularul produsului, iar o regulă din lista de prețuri primește Etichetă ca opțiune suplimentară în câmpul său Aplică pe, împreună cu un câmp Etichetă pentru alegerea etichetei. Regula este apoi denumită după etichetă (Tag: Winter sale) în lista de reguli a listei de prețuri.

screenshot: inventory-pricing-pricelist-tag-rule
menu
Sales ‣ Products ‣ Pricelists ‣ (a pricelist)
shows
A pricelist rule whose "Apply On" is set to "Tag", with the "Tag" field filled in, listed among the pricelist's other rules where its name reads "Tag: <tag name>".
highlight
The "Apply On" and "Tag" cells (red frame).
data
Pricelist "Public (HUF)"; rule applying a 20% discount to the tag "Winter sale".
module
eyssen_product_pricelist_tag
notes
English UI, light theme, 1440px width, crop to the rule lines.
screenshot: inventory-pricing-pricelist-tags-on-product
menu
Inventory ‣ Products ‣ Products ‣ (a product)
shows
The "Pricelist Tags" field of a product form holding two coloured tags.
highlight
The "Pricelist Tags" field (red frame).
data
Tags "Winter sale" and "Clearance".
module
eyssen_product_pricelist_tag
notes
English UI, light theme, 1440px width, crop to the field.

Important

Când un produs are mai multe etichete, fiecare cu o regulă, câștigă regula care oferă în acel moment reducerea cea mai mică. Atribuiți etichetele suprapuse în mod deliberat sau păstrați o singură etichetă per produs pentru fiecare listă de prețuri.

Panglica magazinului web dintr-o etichetă

eyssen_product_pricelist_tag_ribbon leagă o etichetă de listă de prețuri de o panglică a magazinului web: un câmp Panglică de pe etichetă indică panglica de afișat, iar atribuirea etichetei unui produs setează automat panglica site-ului web a produsului respectiv. Două butoane din setări mențin sincronizate produsele existente — Actualizează tot reaplică panglica primei etichete a fiecărui produs, iar Curăță tot elimină panglica de pe toate produsele.

screenshot: inventory-pricing-tag-ribbon
menu
Sales ‣ Configuration ‣ Pricelist Tags ‣ (a tag)
shows
A pricelist tag form with the "Ribbon" field selected.
highlight
The "Ribbon" field (red frame).
data
Tag "Winter sale" linked to the ribbon "Sale".
module
eyssen_product_pricelist_tag_ribbon
notes
English UI, light theme, 1440px width, crop to the form.

Ordonarea regulilor din lista de prețuri

eyssen_product_pricelist_sequence adaugă o Secvență regulilor din lista de prețuri, astfel încât ordinea în care sunt evaluate să poată fi setată explicit, trăgând de mânerul din lista de reguli, în loc să depindă de ordinea naturală a regulilor. Acest lucru contează de îndată ce mai multe reguli pot corespunde aceluiași produs — de exemplu o regulă de etichetă și o regulă de categorie.

Prețurile din listele de prețuri pe produs

eyssen_product_show_pricelist_price aduce prețurile din listele de prețuri chiar pe produs, astfel încât un agent de vânzări să nu fie nevoit să deschidă fiecare listă de prețuri pentru a le compara.

Pe o listă de prețuri (Vânzări ‣ Produse ‣ Liste de prețuri), trei comutatoare stabilesc unde este afișat prețul acelei liste de prețuri:

  • Afișează pe formularul produsului;

  • Afișează în lista de produse; și

  • Afișează în kanban-ul produselor.

Activarea Afișează în lista de produse sau Afișează în kanban-ul produselor creează o coloană de preț pentru acea listă de prețuri, disponibilă în selectorul de coloane opționale. Formularul produsului afișează în plus un rezumat Toate prețurile, care listează prețul curent al produsului în fiecare listă de prețuri, calculat pentru data de astăzi.

screenshot: inventory-pricing-show-pricelist-price-settings
menu
Sales ‣ Products ‣ Pricelists ‣ (a pricelist)
shows
A pricelist form with the "Display on Product Form", "Display on Product List" and "Display on Product Kanban" switches.
highlight
The three switches (red frame).
data
Pricelist "Public (HUF)" with all three enabled.
module
eyssen_product_show_pricelist_price
notes
English UI, light theme, 1440px width, crop to the switches.
screenshot: inventory-pricing-all-prices-on-product
menu
Inventory ‣ Products ‣ Products ‣ (a product)
shows
The "All Prices" summary on a product form, listing each pricelist with the price it currently gives for this product.
highlight
The "All Prices" block (red frame).
data
Three pricelists with different prices for the same product.
module
eyssen_product_show_pricelist_price
notes
English UI, light theme, 1440px width, crop to the block.

Prețul de vânzare într-o monedă străină

product_currency_price permite ca prețul de vânzare al unui produs să fie întreținut într-o monedă a furnizorului sau a listei, în timp ce prețul în moneda companiei este derivat din acesta, ceea ce menține un catalog importat în concordanță cu cursul valutar.

Mai întâi, marcați monedele care vor fi oferite (Contabilitate ‣ Configurare ‣ Valute):

  • Afișează pe produs — un preț de vânzare în această monedă poate fi introdus pe un produs.

  • Adaos preț de vânzare (%) — procentul adăugat la suma convertită. Un adaos de 2.5 înseamnă că prețul de vânzare în moneda companiei este suma convertită înmulțită cu 1.025.

screenshot: inventory-pricing-currency-settings
menu
Accounting ‣ Configuration ‣ Currencies ‣ (a currency)
shows
A currency form with the "Show on Product" checkbox enabled and the "Sales Price Markup (%)" field filled in.
highlight
The two fields (red frame).
data
Currency EUR, markup 2.5%.
module
product_currency_price
notes
English UI, light theme, 1440px width, crop to the fields.

Pe formularul produsului, alegeți Moneda prețului în valută și introduceți Preț de vânzare în valută. Preț de vânzare în moneda companiei este apoi calculat din acesta, cu cursul curent și adaosul monedei, și este recalculat automat ori de câte ori un curs valutar pentru acea monedă este adăugat, modificat sau eliminat ori adaosul este editat.

screenshot: inventory-pricing-foreign-price
menu
Inventory ‣ Products ‣ Products ‣ (a product) ‣ General Information tab
shows
A product form with the "Foreign Price Currency" set to EUR, the "Foreign Sales Price" entered, and the company-currency "Sales Price" computed from it.
highlight
The "Foreign Price Currency" and "Foreign Sales Price" fields (red frame).
data
Foreign price 100.00 EUR, markup 2.5%, resulting HUF sales price computed from the current rate.
module
product_currency_price
notes
English UI, light theme, 1440px width, crop to the price fields.

Notă

Pentru fiecare produs se poate seta doar un singur preț în valută, iar moneda companiei nu este niciodată oferită ca monedă străină.

Notă

Necesită modulul eYssen de curs valutar în timp real (eyssen_currency_rate_live_community) pentru a menține cursurile la zi; fără cursuri actuale, prețul derivat nu se modifică.

Perechi de prețuri fixe

Conversia cu cursul valutar zilnic nu este întotdeauna dorită: o listă de prețuri agreată cu un client asociază adesea un preț de bază fix cu un preț fix pe monedă (de exemplu, 100 EUR să fie întotdeauna 39 900 HUF, indiferent de cursul de astăzi). eyssen_pricelist_price_pair implementează exact acest lucru ca un nou mod de calcul Pereche de prețuri pentru o regulă din lista de prețuri.

O regulă setată pe Pereche de prețuri conține un tabel de Perechi de prețuri: fiecare pereche are un Preț de bază în moneda companiei și, sub acesta, câte o linie pentru fiecare Monedă, cu Preț de utilizat în acea monedă.

Trei opțiuni controlează ce se întâmplă când nicio pereche nu se potrivește:

  • Pereche lipsă — Folosește cursul valutar revine la conversia normală, Folosește zero produce un preț zero.

  • Folosește perechea globală — când regula nu are o pereche potrivită proprie, se folosește o pereche globală (una neatașată vreunei reguli) cu același preț de bază și cu o linie în moneda țintă.

  • Reutilizează perechile de la — folosește tabelul de perechi al altei reguli, în loc să-l copieze pe fiecare regulă, ceea ce păstrează un singur tabel comun pentru multe reguli de etichetă.

screenshot: inventory-pricing-price-pair-rule
menu
Sales ‣ Products ‣ Pricelists ‣ (a pricelist) ‣ (a rule)
shows
A pricelist rule whose "Price Computation" is "Price Pair", showing the "Missing Pair", "Use Global Pair" and "Reuse Pairs From" options and the "Price Pairs" table with one base price and its per-currency lines.
highlight
The "Price Pairs" table (red frame).
data
Base price 100.00 EUR with lines for HUF and RON.
module
eyssen_pricelist_price_pair
notes
English UI, light theme, 1440px width, full form.

Perechile pot fi încărcate și în masă: un asistent de import fie citește un Fișier CSV, fie copiază fiecare pereche și fiecare linie de monedă dintr-o Source Pricelist Rule, înlocuind opțional perechile deja existente pe regula țintă.

screenshot: inventory-pricing-price-pair-import
menu
Sales ‣ Products ‣ Pricelists ‣ (a rule) ‣ (import price pairs)
shows
The "Import Price Pairs" wizard with "Mode" set to "Import from file", the File field, the target rule and the "Replace existing pairs on target" checkbox.
highlight
The "Mode" field (red frame).
data
A CSV file of base prices and per-currency prices.
module
eyssen_pricelist_price_pair
notes
English UI, light theme, 1440px width, crop to the wizard.

Importul articolelor din lista de prețuri

eyssen_pricelist_import completează o listă de prețuri dintr-o foaie de calcul. Pe formularul listei de prețuri, Importă articolele deschide un asistent care primește un Fișier de date — un registru Excel a cărui primă foaie conține referința internă a produsului în prima coloană și prețul fix în a doua — și creează sau actualizează câte o regulă cu preț fix pentru fiecare produs. Șterge articolele golește dintr-un singur pas lista de reguli a listei de prețuri.

screenshot: inventory-pricing-pricelist-import
menu
Sales ‣ Products ‣ Pricelists ‣ (a pricelist) ‣ Import Items
shows
The "Import Items" wizard with the target pricelist and the "Data file" upload field, and the "Import Items" and "Delete Items" buttons visible on the pricelist form behind it.
highlight
The "Data file" field and the two buttons (red frames).
data
An .xlsx file with internal references and fixed prices.
module
eyssen_pricelist_import
notes
English UI, light theme, 1440px width, crop to the wizard and the buttons.

Important

Șterge articolele elimină toate regulile listei de prețuri fără a cere confirmare. Exportați mai întâi lista de prețuri dacă regulile ar putea fi necesare din nou.

Notă

Importul Excel necesită biblioteca Python openpyxl în mediul Odoo.

Istoricul prețurilor

product_price_history înregistrează fiecare modificare de preț, astfel încât să se poată afla ulterior cât a costat un produs la un anumit moment și de ce s-a modificat.

Fiecare modificare este stocată ca un eveniment cu Tip preț — Preț de vânzare, Preț de cost sau Preț din lista de prețuri — Listă de prețuri căreia îi aparține (pentru un preț din lista de prețuri), Preț vechi și Preț nou, Dată efectivă de la care se aplică noul preț, data înregistrării, utilizatorul care a făcut modificarea și o descriere a cauzei.

O filă Istoric prețuri de pe formularul produsului listează evenimentele proprii ale produsului, iar Vânzări ‣ Configurare ‣ Istoric prețuri deschide aceleași înregistrări cu toate opțiunile de căutare și grupare.

screenshot: inventory-pricing-price-history
menu
Inventory ‣ Products ‣ Products ‣ (a product) ‣ Price History tab
shows
The "Price History" tab of a product form, listing the price events with their Effective Date, Price Type, Pricelist, Old Price, New Price, source description and user.
highlight
The "Old Price" and "New Price" columns (red frame).
data
Five events: two sales-price changes, one cost change and two pricelist-rule changes.
module
product_price_history
notes
English UI, light theme, 1440px width, crop to the tab.

Evenimentele cu o dată efectivă în viitor sunt înregistrate ca proiectate și devin efective automat când sosește data lor; două acțiuni programate se ocupă de aceasta, una procesând coada de evenimente la câteva minute și una materializând evenimentele proiectate. O acțiune unică Inițializează prețurile de referință lipsă, disponibilă administratorilor de sistem din lista Istoric prețuri, creează evenimentele inițiale pentru un catalog care are deja prețuri la instalarea modulului.

Notă

Deoarece evenimentele sunt înregistrate chiar din modificările de preț, istoricul acoperă doar ceea ce s-a întâmplat după instalarea modulului, plus ceea ce a creat acțiunea de inițializare.