Please write requirements of Your country here . Please check which are fulfilled and how it is done
- Here is the data model reference
- We should use this Jira issue to federate related tasks. There are already some interesting links from there...
Common EU requirements
Prices including VAT in the web shop (commerce component)
Implemented since R10.04 see this David's comment (he implemented it) and this thread for details
In France for instance you must show your prices VAT included if you are selling to public (B2C). When you sell to professionals (B2B), by usage, you show that your prices are VAT excluded
Tax Code of Seller and buyer on Invoice (B2B)
Implemented see OFBIZ-362 Check here for more
To validate a VAT European Number. More at. Note that there is also a SOAP service available for validation (could be used in validatePartyTaxIdInline)
Configuration of VAT GL Account
Is it done ?
No, there are only US and CANADA Sales Tax accounts for now.
– If the accounts just are intended to be "indirect taxes that must be administered by Ofbiz", then the fact that the accounts have a specific name ("sales tax" and not VAT or GST) is not greatly important. Given that the fine details of these taxes differ everywhere in the world, I would advocate for trying to make Ofbiz flexible enough to manage taxes everywhere. Having different accounts and entities for each tax authority would work against that flexibility. - Paul Foxworthy
- Jacques: Paul, this should be better discussed in user ML
Should it be per rate - different accounts for collected and duty tax for each rate ?
Per rate should not be done unless some tax authority requires you to account for taxes collected at various rates. A problem here is that it require GL accounts to be created dynamically since rates can be created dynamically.
Separating collected and due taxes is mandatory and done in OFBiz though no VAT specific accounts exist. See "Purchase order VAT" section below. We need at least an incoming tax (sales) GLAccount and an outgoing tax (purchase) GLAccount. Here is an interesting comment by Enrique Ruibal A.
Discounts applied per line
Currently OFbiz applies global discount on invoice level. This is not always valid for VAT depending on countries.
For instance it's OK for UK, and maybe Germany, but not in France and Italy where they should be grouped by VAT rates.
Also a discount should always be calculated on the price without VAT.
For instance 100 x 19.6% = 119.60 (incl 19.60 VAT) -10% discount (11.96) = 107.64. VAT was calculated on 100 euros (19.60)
If you calculate 100 -10% = 90 x 19.6% (incl 17.64 VAT) => 90 + 17.64 = 107.64. VAT was calculated on 90 euros (17.64)
The price for the customer is the same. But the VAT to be paid to the tax authority is wrong in the 1st case. It's also a problem if your client want to recover VAT from tax authority. Another way is to calculate based on the price including VAT but to remove the non exigible part (here 19.6 - 17.64 = 1,96, ie 10% of the total VAT paid in the 1st case)
In most countries there is need for monthly or in general periodic VAT reports with all sales and purchases.
The report must be splitted by rates since, most of the time, totals by rate are needed for the final (official) report.
Exemption and zero rate can be dealed as ordinary rates (see section 11). This report should allow to fill the official report in all cases.
In EU (at least in France) if you have a VAT registration number even if you don't pay VAT for purchases outside of your country (but in EU) you must declare the VAT part in your periodic VAT report. As a minus (debit) and a plus (credit) : it's a neutral operation, just intended for your administration (to cross-check outside VAT, this in order to prevent VAT carrousel). If you don't declare these amounts you may be fined (it's 5% in France). So there is a need to know this information. For an automated reporting it's not easy to deal with though...
Since 1st January 2010, VAT is handled another way in EU (at least in France). In France for instance, you must declare (on the Net) the fiscal values (for instance total amount, without taxes, due for services supplied in EU, but not in France) each 10 of month for the previous month. This results from this EU directive in order to prevent VAT carrousel. You don't charge VAT, but must show the customer VAT EU number on invoices.
There is not always direct connection between invoice date and VAT. E.g in Poland if purchase invoice is received more than 2 months from purchase it will not decrease amount of VAT to be paid. Same in France, must be the same month, but you may regularise in a delay of 2 years.
Some invoices can be not valid.
For Export invoice there can be requirement for document which will confirm that goods has been exported (to apply 0% VAT)
Purchase order VAT
I will implement this shortly the following way: (have a customer who wants it)
- Add a second glAccountId for outgoing tax to the TaxAuthorityGlAccount.
- Adjust the programs to calculate the vat (sales tax) on purchase orders the same way as sales orders, but use for the productstoreId a blank entry.
JLR note 2008/11/18 : not sure who wrote that, nothing in Jira yet.
Interesting mailing list thread thread on this.
Paul Foxworthy 2010-10-21 The trouble is that the product store is being used to determine the tax that applies for sales, but there is no product store for purchases. There needs to be another way of determining the tax that applies to purchase orders. It is true, as tax on a purchase order is just an estimate , but if you are paying at the time of purchase order, you want an accurate estimate so you pay the right tax with the order.
Shipment cost VAT
Shipment cost should be VAT aware (amounts should be splitted for netto + VAT on invoices). There is a field for that in Tax Autorithies/Product Rate : TaxAuthorityRateProduct.taxShipping.
Shipping amounts are VAT splitted since OFBIZ-4160, ie VAT is also on shipping costs at the same rate as that applicable to products sold.
But there are a large variety of laws depending on cases and countries. OFBIZ-10679 has been opened for that.
France requirements (from misc. articles in French)
If you re-invoice the carrier's costs to the nearest euro and the carrier has not charged you VAT, you can not charge VAT on the transport.
If you invoice a package, since you invoice the customer in advance and the amount of delivery charges depending on the weight is unknown to you in advance, you must apply VAT on this package.
For sales under "departure" conditions (B2B), transport services are invoiced separately. The VAT on shipping costs is 20%.
For other more complex cases, please refer to http://bofip.impots.gouv.fr/bofip/705-PGP
Invoices requirements (including rounding)
We should research the common ground for invoices and POS receipts Quoting Jacopo in this commit
Now most of the mandatory information required by EU/VAT countries as described here
This commit implements
- improved code to retrieve the bill-to-party tax id, required by VAT rules only: now the tax id is retrieved only if in the invoice there are taxes of type VAT_TAX
- added shipment date if available
- as required by EU rules for VAT taxes, if there are VAT taxes in the invoice, then a break-down of the VAT amount payable per VAT rate is displayed at the bottom of the invoice
Important: the information that are not relevant for "sales tax" invoices (e.g. US invoices) are not rendered if VAT taxes are not available in the invoice.
UK requirements (from this interesting thread. We should check if OFBiz is OK, I guess so but maybe some quirks)
VAT invoices must show:
- an identifying number;
- your name, address and VAT registration number;
- the time of supply (tax point);
- date of issue (if different to the time of supply);
- your customer's name (or trading name) and address;
- the type of supply (see 16.3.2 below); and
- a description which identifies the goods or services supplied.
For each description, you must show:
- the quantity of goods or extent of the services;
- the charge made, excluding VAT;
- the rate of VAT;
- the total charge made, excluding VAT;
- the rate of any cash discount offered;
- each rate of VAT charged and the amount of VAT charged at each rate and shown in sterling; and
- the total amount of VAT charged, shown in sterling.
It seems that for most UE coutries (at least UK, France and Italy) it's not mandatory to calculate VAT for each item but for each existing rate in the invoice.
France requirements (from Wikipedia in french)
- An unique bill number based on a chronological and continuous sequence,
- the complete names of salesman and customer with respective addresses,
- the individual number of identification to the VAT of the salesman and customer (the number of VAT of the customer remains optional for operations realised in France),
- the date back to delivery or bill transmission.
On each invoice line you must show
- The realisation date of the sale/service or deposit payment,
- for each of the delivered goods or services: quantity, name, VAT excluded unitary price, VAT rate or, if needed, exemption,
- all reductions, handing-over, rebates or discount obtained and calculable at the time of the operation and directly linked to this operation.
Finally, must be shown
- The tax amount to pay and, by rate, VAT excluded total and corresponding tax (If the liable is brought to bill another VAT that the French VAT, she/he must specify very clearly that it is a tax of such or such foreign country).
- If need be, a mention indicating that the operation benefits from a measure of exemption (with law reference), or of an auto-liquidation or profitable margin system.
- The date at which the payment must take place,
- the rate of the payable penalties begining the day following the date at which the payment must take place,
- discount conditions.
Exemption and zero rate adjustments are not tracked at the accounting level (Invoice and InvoiceItem entities). This makes sense as no payments can be applied against them. Anyway it's not an issue as we can trace back to order adjustments (OrderAdjustment entity) from invoices through the OrderBilling entity.
Requirements by countries
- VAT link many other languages links from this link
- Eu VAT specificities change language if you need
Unique invoice number based on a chronological and continuous sequence
Discounts applied per line
Ofbiz supports invoice level discounts. This is not valid for VAT. For VAT, amount for each line must be known, so discounts
I.e. there can be invoices with different VAT rates per line.
Important: rounding may only take place one time per VAT rate (after all calc. VAT amounts are summed up for that rate)
Some products can have different tax rate when selling to different type of customer. E.g. In Poland flat/house renting is 0% for individual
Similar situtation in Germany: FastFood restaurants: take-a-way food has 7%, stay-here is 19%, usually handled via different products, too.
Same in France : only rates change (5.5% and 19.6%) (I wonder why they did not choose 5.55468 and 19.65548754, hey it's France ;o)
Has different VAT rates, for different type of goods
Official EU document Wikipedia (could be more updated than EU document)
0%, 7%, 19%
2.1%, 5.5% 19.6% (there is no 0% rate in France only conditionnal exemption)
0%, 4%, 8%, 18%
Apply VAT for sales in INTERNAL_ORGANIZATION country Official EU document
Apply VAT for sales outside EU
Buyer may get VAT back from German Customs Auth. when he proves, that goods leave Germany (or EU?)
There are some exceptions with DOM-TOM (no metropolitan territories) and electricity.
Apply VAT for sales outside INTERNAL_ORGANIZATION country && inside EU && with valid VAT ID (B2B)
INTERNAL_ORGANIZATION may have to proof that goods left Germany (for Tax Auth.)
In Poland there is also need for spedition document to have proof that goods left Poland
Same in France (document de transport)
Apply VAT for sales outside INTERNAL_ORGANIZATION country && inside EU && without valid VAT ID (B2C)
Apply VAT for purchases like sales
Common South America requirements
In Colombia applies Withholding of VAT. It is called "retention at the source". Part of calculated VAT adjustments are not paid(but retained) by the buyer.
Different % of retention
Companies in Colombia are divided in classifications according to the social activity of the company.
The value of the retention at source depends on the relationship between companies(payee and payer).
Order and Invoice amounts
The order and invoice total amounts should include the full amount of the tax, not only the part that issuer will pay to the tax authority. The invoice also should contain information about the amount of the retained tax amounts.
Withholding amounts should be posted to separate GL account.INTERNATIONAL VAT/GST GUIDELINES
I believe the Goods and Services Tax (GST) in Australia is quite similar to that in Canada and New Zealand, but I would welcome anyone's contributions here.
In Australia it is a legal requirement that retail prices quoted to consumers must include GST.
A 10% GST is added to the price of most goods and services. In other words, a quoted retail price will likely include a GST of one-eleventh of that price.
Some goods are GST exempt, most notably fresh food.
As in many other jurisdictions, businesses account for the GST they have paid on their inputs, and charge GST on their sales. The difference between the two is paid to the Australian Tax Office regularly (monthly or quarterly, depending on the size of the business).
Just as described in "Invoice requirements" above for the EU, in Australia, if GST is part of an invoice, the total GST paid must be itemised. In addition, the invoice must have the words "Tax Invoice" on it.
A business can elect to account for and pay GST either on a cash basis (actual money moving) or accrual (sales invoices and purchase invoices).