Value-added Tax (VAT) for gift cards

VAT laws dictate that “single-purpose” gift cards should be taxed at the time of purchase since the gift card can only be used for a specific product. The tax can be correctly calculated at the time of purchase since their use is known in advance.

Our plugin does not restrict which products can be purchased with the gift card so they are considered “multi-purpose” gift cards. Multi-purpose gift cards have the tax calculated at the time of use when the product is being purchased. It works more like a store credit that can be used to purchase any product in the future.

As a result, when a gift card is purchased there is no tax on it. When the customer redeems the gift cards, the products are appropriately taxed and the gift card balance is used to pay for the entire order amount.

The plugin does not exclude tax when the gift card is redeemed and as a result the purchase of a gift card should not be taxed to avoid double taxing the customer.

Single-purpose gift cards

If your store only sells a single product and you want to simulate single-purpose gift cards (tax the gift card, no tax on the purchase) you can follow these steps:

1. Set the Tax Status to “Taxable” by editing the PW Gift Card product and going to the General tab.
2. Download the free Code Snippets plugin https://wordpress.org/plugins/code-snippets/ and create a new Snippet with the following code (or you can alternatively add this to your functions.php file):

function pwgc_disable_tax_when_redeemed( $tax_enabled ) {
    if ( defined( 'PWGC_SESSION_KEY' ) && isset( WC()->session ) ) {
        $session_data = (array) WC()->session->get( PWGC_SESSION_KEY );
        if ( isset( $session_data['gift_cards'] ) && count( $session_data['gift_cards'] ) > 0 ) {
            $tax_enabled = false;
        }
    }

    return $tax_enabled;
}
add_filter( 'wc_tax_enabled', 'pwgc_disable_tax_when_redeemed' );