Tax Codes including more than tax, Turnover, etc

I started looking at how to implement Tax Codes for the Swiss VAT return

Here is a sample of the VAT return for Switzerland (in French)

Here are some notes about Swiss VAT (in English)

The figures in section 1 are total turnover including tax, for example, box 200 is total turnover for the period.

The figures in section 2, boxes 302, 312, etc are both the net sales and the VAT on those sales

The figures in section 3, boxes 900 and 910 at the bottom are totals of non-taxable transactions, for example, salaries and dividends (see Art. 18 bullet list in the PDF above)

Can the Tryton Tax Code mechanism be used to compute values for boxes 200, 900, 910, etc? Or is some other reporting technique necessary for this type of VAT return?

The Tax Codes are designed as a Tree, so on tax code can include the amounts of other taxes.
In order to achieve so you should add the 302 and 312 tax codes as children of the 200 tax code.

With this setup, the 200 will be the sum of the amounts of the codes 302 and 312.

Same technic can be used for any other totals.

Section 3, the tax codes 900 and 910 related to purchases. They are not related to the values in any other box so they can’t be in the same tree.

When I look at this form, I feel that it needs three or four trees, one for each section of the form. I created a tree diagram in the Git repository here.

Tree 1 = Section 1 = Tax Code 200, derived from the other values

Tree 1a = Section 1, box 205 (this doesn’t combine with the other values)

Tree 2 = Section 2 = Net VAT liability, combining a subtree for VAT liability and another subtree for deductions

Tree 3 = Section 3 = Non-VAT expenditures, boxes 900 and 910

I created a document in the repository, it explains each box in English

It also includes discussion of the logic for entering transactions:

  • making a sale
  • making a purchase

I did a bit of clean-up on this, splitting the tree into separate trees as described above, now it shows valid results for Normal rate VAT 7.7% on domestic purchases and sales. Businesses who only do that type of transaction now have acceptable results in Section 1 and Section 2.

For Section 3, it is not immediately obvious how Tryton should aggregate the values for tax codes 900 and 910, any comments on that would be very welcome.

Indeed if there is no direct tax you can just create the Codes but do not link into any tax. This way the values will always shown as empty

Then anyone can create a custom tax and link to the selected tax codes to include their own values.

I looked at this more closely for boxes 900 and 910.

The tax form and the VAT rules refer to these as “flows” of funds. A similar word is used in French and German. It doesn’t say “inflow” or “outflow”. Just “flow”.

In my earlier comment, I suggested they were expenditures but in the context of boxes 900 and 910 on the VAT form, these “flows” are in fact “inflows”

On the same form, box 420, they are asking for the VAT amount related to “outflows”, where the funds for the outflow come from the inflow at box 900.

This is not clear from reading the form, I only found this after reading the notes here from Sage (in German only).

Boxes 302, 312, etc have two values for each box, the base amount and the tax amount.

Section 1, box 299 appears to be sum of the base amounts+tax amounts from Section 2.

But it doesn’t appear to be possible for those tax amounts to span two sections, to be in Section 1 and Section 2 sub-trees at the same time.


I may have misunderstood what you are aiming to do, but you should be able to include the same tax and base amounts in multiple different tax codes.

This should allow you to put the tax / base amounts in boxes 302, 312 and also include them again in 299.