Nel caso più generale (regime IVA ordinario), WooCommerce Italian Add-on applica l'esenzione dell'IVA in funzione di alcuni parametri indicati dal cliente al checkout:
- se il Paese di fatturazione è nella UE ed è diverso dall'Italia;
- se il tipo di cliente è un'azienda/professionista;
- se la partita IVA indicata è iscritta al servizio VIES (se l'opzione è impostata).

Se non rientra in questi casi all'acquisto vengono applicate le aliquote previste da WooCommerce per quel Paese di fatturazione.

La possibilità di esenzione dell'IVA potrebbe però dipendere da molti altri fattori. Può rendersi necessario modificare il meccanismo di valutazione. Dalla versione 0.7.2.30 abbiamo introdotto la possibilità di personalizzare l'esenzione dell'IVA. Vediamone alcuni esempi.

Per ciascuno di questi casi si deve aggiungere una funzione nel file function.php del tema in uso.

Esenzione IVA per le aziende svizzere

Nell'esempio di seguito impostiamo l'esenzione IVA per le aziende con Paese di fatturazione Svizzera (CH).

add_filter('wcpdf_IT_check_vat_exempt', 'my_check_business_CH_vat_exempt', 20, 3);
function my_check_business_CH_vat_exempt($is_vat_exempt, $post_data, $env ) {
  if ( $post_data["billing_country"] && 
    $post_data["billing_country"] == "CH" &&
    $post_data["billing_customer_type"] == "business" )
  {
    $is_vat_exempt = true;
  }
  return($is_vat_exempt);
}

Esenzione IVA per tutti i clienti Extra UE

Nell'esempio che segue impostiamo l'esenzione IVA per tutti i clienti di Paesi che non appartengono alla UE.
Normalmente questo non è necessario se le aliquote IVA di WooCommerce per l'estero sono correttamente impostate. Ma possono esserci dei casi in cui è necessario forzare il meccanismo di esenzione.

add_filter('wcpdf_IT_check_vat_exempt', 'my_check_Extra_UE_vat_exempt', 20, 3);
function my_check_Extra_UE_vat_exempt($is_vat_exempt, $post_data, $env ) {
  if ( $post_data["billing_country"] && 
    !in_array($post_data["billing_country"], $env->eu_vat_countries) )
  {
    $is_vat_exempt = true;
  }
  return($is_vat_exempt);
}

Esenzione IVA per i clienti UK quando l'imponibile del carrello è inferiore a 135 sterline

Nell'esempio che segue impostiamo l'esenzione IVA per tutti i clienti UK quando l'importo imponibile del carrello è superiore alle 135 sterline, corrispondenti a 152.11 euro (cambio valido al momento in cui scriviamo).

add_filter('wcpdf_IT_check_vat_exempt', 'my_check_UK_vat_exempt', 20, 3);
function my_check_UK_vat_exempt($is_vat_exempt, $post_data, $env ) {
  if($post_data["billing_country"] == "GB"){
    $totali = WC()->cart->get_totals();
    $imponibile = $totali["total"] - $totali["total_tax"];
    if($imponibile > 152.11) { // £ 135 = € 152.11
      $is_vat_exempt = true;
    }
  }
  return($is_vat_exempt);
}