La legge italiana prevede il regime forfettario per liberi professionisti o ditte individuali con reddito massimo di 65.000€. Chi aderisce al regime forfettario ha l’obbligo di affrancare le fatture con una marca da bollo da 2 euro per importi sopra 77,47 euro.
Se un forfettario possiede un ecommerce e fa centinaia di ordini all’anno, l’importo dei bolli è una spesa rilevante e nessun ecommerce di base offre la possibilità di inserire due euro di marca da bollo se l’importo del carrello è superiore a 77,47 euro.
Un ecommerce, costruito con WordPress + Woocommerce non offre questa possibilità se non tramite un plugin o una personalizzazione a codice.
Spesso un plugin può essere a pagamento o non comportarsi esattamente per vogliamo, per questo condivido il codice per inserire due euro di marca da bollo su Woocommerce.
Il seguente codice va inserito nel functions.php del tema attivo e inserirà due euro di marca da bollo come “fee” (tassa) nel checkout.
add_action( 'woocommerce_cart_calculate_fees', 'ns_bollo_forfettario', 1, 1 );
function ns_bollo_forfettario( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
$cart_total = $cart->cart_contents_total;
foreach (WC()->session->get('shipping_for_package_0')['rates'] as $method_id => $rate) {
if (WC()->session->get('chosen_shipping_methods')[0] == $method_id) {
$rate_label = $rate->label; // The shipping method label name
$rate_cost_excl_tax = floatval($rate->cost); // The cost excluding tax
// The taxes cost
$rate_taxes = 0;
foreach ($rate->taxes as $rate_tax)
$rate_taxes += floatval($rate_tax);
// The cost including tax
$rate_cost_incl_tax = $rate_cost_excl_tax + $rate_taxes;
$cart_total += $rate_cost_incl_tax;
}
}
// The conditional Calculation
$fee = $cart_total > 77.47 ? 2 : 0;
if ( $fee != 0 )
$cart->add_fee( __( "Bollo sull'originale di €2,00.\n\r
La marca da bollo va applicata solo qualora gli importi non soggetti ad IVA siano superiori a € 77.47", "woocommerce" ),
$fee );
}
Analizziamo lo script:
- Ottengo il totale del carrello (Totale senza spese di spedizione e senza tasse aggiuntive!)
- Inizio un ciclo foreach dove il costo della spedizione viene aggiunto al mio totale carrello.
- riga 29: calcolo con un operatore ternario se il totale del carrello è superiore o inferiore a 77,47.
- Se $fee è diverso da zero, aggiungo la tassa con la funzione add_fee. Il primo parametro di add_fee è la stringa univoca che verrà stampata a nel riepilogo ordine di woocommerce, il secondo l’importo della tassa.
Questo blog non rappresenta una testata giornalistica in quanto viene aggiornato senza alcuna periodicità . Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n° 62 del 7.03.2001.Alcuni testi o immagini inserite in questo blog sono tratte da internet e, pertanto, considerate di pubblico dominio; qualora la loro pubblicazione violasse eventuali diritti d’autore, vogliate comunicarlo via email. Saranno immediatamente rimossi.L’autore del blog non è responsabile dei siti collegati tramite link né del loro contenuto che può essere soggetto a variazioni nel tempo.
L’autore non è responsabile dell’uso errato di frammenti di codice o del contenuto degli articoli.