Skip to content

Instantly share code, notes, and snippets.

@derekphilipau
Last active July 17, 2018 18:29
Show Gist options
  • Save derekphilipau/aa1a478d14683ed7b1b7f7362beac6b8 to your computer and use it in GitHub Desktop.
Save derekphilipau/aa1a478d14683ed7b1b7f7362beac6b8 to your computer and use it in GitHub Desktop.
Tax Handling of Various Software

Tax Handling of Various Software

WooCommerce

https://docs.woocommerce.com/document/setting-up-taxes-in-woocommerce/ https://github.com/woocommerce/woocommerce/wiki/Database-Description#table-woocommerce_tax_rates

  1. Is tax listed as inclusive or exclusive?

    The tax calculation for tax-inclusive prices is: tax_amount = price - ( price / ( ( tax_rate_% / 100 ) + 1 ) )

    The tax calculation for tax-exclusive prices is: tax_amount = price * ( tax_rate_% / 100 )

    (Price display depends on this, e.g. "Prices include X% tax/VAT")

  2. Which location is used for calculating tax?

    • Customer billing address
    • Customer shipping address (default)
    • Store base address
  3. Rounding:

    • Check if rounding tax at subtotal level or if per line.
  4. Tax rates:

    Each tax rate has:

    • Country Code
    • State Code
    • Zip/Postcode
    • City
    • Rate %
    • Tax Name
    • Priority
    • Compound
    • Shipping
  5. "Layered" tax rates:

    US has a 6% tax rate except CA (7%) but local rate for Zip code 90210 is only 2%:

    Country: US, State: CA, Zip: None, Rate: 7%, Name: Tax, Priority: 1

    Country: US, State: None, Zip: 90210, Rate: 2%, Name: CA Tax, Priority: 2

    Country: US, State: None, Zip: None, Rate: 6%, Name: Tax, Priority: 1

Magento

https://docs.magento.com/m1/ce/user_guide/taxes.html

Includes tax classes for products and customer groups, and tax rules that combine product and customer classes, tax zones, and rates.

  1. Product Tax Classes

    For example, food might not be taxed (or might be taxed at a different rate). If your store charges an additional tax on shipping, you should designate a separate product tax class for shipping.

  2. Shipping Tax Classes

  3. Customer Tax Classes

    For example, in some jurisdictions, wholesale transactions are not taxed, although retail transactions are.

Tax Zones & Rates

Tax rates generally apply to transactions that take place within a specific geographical area. The Tax Zones and Rates tool enables you to specify the tax rate for each geographical area for which you collect and remit taxes. Because you give each tax zone and rate specification a unique identifier, you can have multiple tax rates for a given geographic area (for example, for places that do not tax food or medicine but tax other products).

Tax Rules

Tax rules put all the taxation elements together: product tax classes, customer tax classes, and tax zones and rates. Each tax rule consists of a customer tax class, a product tax class, and a tax rate.

Fixed Product Tax

Some tax jurisdictions have a fixed tax that must be added to certain types of products. For example, in some countries FPT can be used to set up a Waste Electrical and Electronic Equipment Directive (WEEE) tax, also known as "ecological tax" or "eco tax," that is collected on certain types of electronics to offset the cost of recycling. This tax is a fixed amount, rather than a percentage of the product price.

Compound Taxes

For compound taxes, the total cost of a product or service is taxed at one rate, and then the total of that amount, including the first tax amount, is taxed a second time. Compound tax is also known as stacked tax.

Value Added Tax (VAT)

Some countries charge a value added tax, or VAT, on goods and services.

Configuration Options

Tax Calculation Methods

Tax calculation method options include Unit Price, Row Total, and Total. The following table explains how rounding (to two digits) is handled for different settings.

  • Unit Price

    Magento calculates the tax for each item and displays prices tax-inclusive. To calculate the tax total, Magento rounds the tax for each item, and then adds them together.

  • Row Total

    Magento calculates the tax for each line. To calculate the tax total, Magento rounds the tax for each line item and then adds them together.

  • Total

    Magento calculates the tax for each item and adds those tax values to calculate the total unrounded tax amount for the order. Magento then applies the specified rounding mode to the total tax to determine the total tax for the order.

Catalog Prices With or Without Tax

  • Excluding Tax

    Using this setting, the base item price is used as it is entered and the tax calculation methods are applied.

  • IncludingTax

    Using this setting, the base item price excluding tax is calculated first. This value is used as the base price, and the tax calculation methods are applied.

Shipping Prices With or Without Tax

  • Excluding Tax

    Normal calculation. Shipping is added to cart total, typically displayed as a separate item.

  • Including Tax

    Shipping is treated as another item in cart with taxes, using the same calculations.

Shopify

https://help.shopify.com/en/manual/taxes/usa-tax-settings

Sales tax nexus

If there is a nexus, or connection, between your business and a state, then you probably need to charge sales taxes there. Traditionally, a nexus occurs when you have a physical presence in a state, such as a store or warehouse. Some states define nexus to include solicitation, presence of inventory, or fulfillment services.

Destination basis and origin basis

  • Most states use a destination basis, which means that you charge sales tax at the rate in the state where your product is delivered.

  • In origin-based states, sales tax is based on where the seller is located. As of December 2017, only the following states use the origin basis: Arizona, Illinois, Mississippi, Missouri, New Mexico, Ohio, Pennsylvania, Tennessee, Texas, Utah, and Virginia.

  • California is more complicated: the state, county, and city taxes are origin-based, but any district taxes are destination based.

Remote seller rules

A remote seller is a seller that is not located in the state, but has nexus there. Many origin-based states have rules for remote sellers. If you are a remote seller in one of these states, then you need to charge taxes based on the location of your customer.

Automatic tax rates

If you need to charge tax within the United States, then taxes might apply in the county, municipality, and state. To handle this complexity, you can use Shopify's automatic tax settings. These settings include default sales tax and shipping rates, and the rates are updated regularly.

Tax overrides and exemptions

Although Shopify automatically calculates most taxes, you can override tax rates to control how much tax you charge for a particular product, and to handle exceptions and exemptions. You can also specify unique tax rates for shipping destinations or to tax-exempt customers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment