Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

Odoo 12: problema nella stampa scontrino su Epson FP90III

Avatar
Claudio Pezzi

Buongiorno,

volevo segnalare uno strano problema sulla stampa degli scontrini fiscali dal punto vendita su stampante Epson FP90III.

Capita ogni tanto che la stampa dello scontrino vada in errore.

Il problema è probabilmente sugli arrotondamenti ma non capisco il motivo.

Oggi è capitato ancora su un prodotto.

Il prezzo di vendita del prodotto al kg è 21,45€ (anche sul db è così) e l'iva è al 10%. Il cliente ha acquistato 484gr.

E' stato applicato uno sconto del 10%.

La teoria direbbe che:

21,45 * 0,484 = 10,3812 - 10% = 9,34362

E qui scatta l'inghippo...

Se prendo il prezzo con tutti i decimali ed applico l'iva risulta: 10,277982 che arrotondato da 10,28, ma se invece considero il prezzo arrotondato 9,34 + iva = 10,27.

Sembra quindi che il prezzo indicato dal punto vendita e quello inviato alla stampante usino due algoritmi diversi con conseguente errore della stampante.

Chi può aiutarmi?

Grazie

Claudio



Avatar
Abbandona
1 risposta
0
Avatar
Lorenzo Battistini
Migliore risposta

Presumo che nelle impsotazioni di contabilità, come "Metodo di arrotondamento", tu abbia "Arrotondare globalmente".

Questo è corretto perchè altrimenti SDI si lamenterebbe dell'IVA delle fatture elettroniche (assumendo che siano tipicamente con imposte "escluse dal prezzo", o B2B).

Nel POS questo però è un problema perchè alla stampante vanno sempre passati i prezzi IVA inclusa e Odoo così configurato può portare a problemi come quello che hai descritto.

Per ovviare a ciò, vedo che fra i nostri moduli abbiamo il seguente models.js:

odoo.define('takobi_saas_pos.models', function (require) {
"use strict";

var models = require('point_of_sale.models');
var core = require("web.core");

var _orderline_super = models.Orderline.prototype;
var _order_super = models.Order.prototype;

models.Orderline = models.Orderline.extend({
compute_all: function(taxes, price_unit, quantity, currency_rounding, no_map_tax) {
// Forza il calcolo per riga, altrimenti il totale dell ordine potrebbe essere diverso da quello calcolato dalla stampante
this.pos.company.tax_calculation_rounding_method = 'round_per_line';
return _orderline_super.compute_all.call(this, taxes, price_unit, quantity, currency_rounding, no_map_tax);
},
});

models.Order = models.Order.extend({
get_total_tax: function() {
// Vedi sopra
this.pos.company.tax_calculation_rounding_method = 'round_per_line';
return _order_super.get_total_tax.call(this);
},
});
});

che quindi forza l'arrotondamento per riga solo nel calcolo delle imposte nel POS

Avatar
Abbandona
0
Avatar
Claudio Pezzi
Migliore risposta

Quindi come devo procedere per ovviare al problema? Devo modificare a mano quel js? In che modulo?

Avatar
Abbandona