/
Change of VAT rate on Purchase Orders

Change of VAT rate on Purchase Orders

In BC, there is an option to change the VAT rate for Purchase Documents, but it is not possible to select which purchase documents you want to change (purchase invoices or purchase orders), so a mass task is added to the system Convert VAT in Purchase Orders (EN: Change VAT on purchase orders. SK: Convert VAT in Purchase Orders).

This task will change/convert the VAT product posting group and/or at the same time the General Prod. Posting Group on the purchase order lines for the vehicle or vehicle accessories that will not be invoiced on the date the job runs. That is, in rows, the value of the Qty. to Invoice field will be greater than 0.

When making changes, the task ignores the status of the orders, i.e. it does not distinguish whether the order is in the status Open or Released. This will ensure that any approval process that exists for the order is not violated.

The selection of orders for VAT product posting group conversion can be eliminated by using filters on the purchase order header. This can be used primarily to exclude older or migrated purchase orders from conversion.

The task can be run as a test run at first. The result of the test and live runs is then written into the VAT Rate Change Log Entries.

 

The task is added to the menu of the VAT Rate Change Setup table. It is also possible to search for a task using the system magnifier.

image-20241125-143050.png

 

The basic principle of the task is the same as the existing task for VAT conversion in BC, only it is modified with fixed filters, the possibility of entering user filters and running the task in the scheduler is added. See the description of the task in the chapter below. The basic principle is described in PD Nastavení DPH, Kontrolní hlášení DPH a Souhrnné hlášení | Hromadná změna sazby DPH or in MS documentation Manage VAT Rate Changes - Business Central | Microsoft Learn.

It is NOT recommended that you run the Purchase Documents update that is part of the BC solution at the same time.

Task description:

After the task starts, a dialog window opens with the option to run a test or live run and with the option to specify filters for purchase orders, table Purchase Header (38), page API Fin. Object Purchase Order (4026782, Document):

image-20241125-171148.png

Options section:

In this section, the user can choose:

  • Update Purchase Orders

    • option, default Both

      • VAT Prod. Posting Group

        • The system uses the settings from the VAT Prod. Posting Group Conv. table for the conversion.

      • Gen. Prod. Posting Group

        • For conversion, the system will use the settings from the Conversion table Gen. Prod. Posting Group Conv.)

      • Both

        • The system will use the settings from both tables for the conversion

      • None (No)

        • The system does not perform any conversion

  • Update Unit Price

    • boolean, by default No

    • it is used only if the company uses the entry of prices including VAT, which is based on the setup of the vendor card

  • Perform Conversion

    • boolean, by default No

      • No (No)

        • The system will execute Test converts and writes the result to the VAT Rate Change Log Entries table with a note in the Description field (Desctiptino): "Conversion cannot be performed before Perform Conversion is set to true."

      • Yes

        • The system will execute Sharp converts and writes the result to the VAT Rate Change Log Entries table without a note in Description (Desctiptino), changes the value in the Converted field to Yes, writes the date of the conversion in the Converted Date field

 

Filter: Purchase Header section

In this section, the user can set filters over all fields of the purchase order header, some of which are pulled by default:

  • Document Date

    • Document Date (99, Date)

    • If empty, it is not filtered to the given value

  • API Order Content Type (4026795, Option)

    • If empty, it is not filtered to the given value

  • Vendor No.

    • Buy-from Vendor No. (2, Code[20])

    • If empty, it is not filtered to the given value

  • Vendor Name

    • Buy-from Vendor Name (79, Text[100]

    • If empty, it is not filtered to the given value

  • Status

    • Status (120, Option)

    • If empty, it is not filtered to the given value

  • Contract Code

    • Shortcut Dimension 2 Code (30, Code[20])

    • If empty, it is not filtered to the given value

Additional filters can be added by the user button +Filter...

The general principles of filtering in BC are described here:

Sorting, Searching, and Filtering Lists - Business Central | Microsoft Learn

The task also has fixed filters on the header and purchase order lines. It only goes through purchase orders that meet:

  • in the header of the purchase order, the Purchase Header table (38)

    • Document Type (1, Option, PK) = Order

  • In the Purchase Order Line, Purchase Line table (39)

    • Qty. to Invoice (17, Decimal) > 0.

 

The task can be started by clicking OK or Schedule... (Schedule...). If the task is started by the OK button, it runs interactively (displays possible messages) under the given user. If the task is started by the Schedule... button, the execution itself is performed through the job queue (scheduler) – the messages are suppressed, or it is no longer necessary for the user to be logged in after starting.

 

Processing process:

  • as well as the BC task, find the conditions for conversion in the VAT Rate Change Conversion table (551) and perform the same checks as in the BC task, i.e. the same error message if the setup is not complete and terminate the processing (the settings in the VAT Posting Setup table (325) are checked)

  • find purchase orders by fixed and user filters + work notifications (Working on it...) in case the task is not run through the scheduler. The process of the task is the same as in the BC task when the following fields are set:

    • Update Purchase Documents (55, Option)

      • according to the settings in the Update Purchase Orders field in the Tasks dialog box

    • Ignore Status on Purch. Docs. (92, Boolean)) = Yes

  • perform a test or live conversion according to the settings in the Perform Conversion field in the job dialog using the same principle as the BC job

  • notify the user that processing has ended. A dialog box that says Task completed. (Task is finished.)

  • Write the result of the conversion into the VAT Rate Change Log Entry (552) using the same principle as a BC task.

The result of the live processing of the job is:

  • Changed VAT product posting groups on those purchase order lines that met the specified criteria

  • The recalculated total VAT amount and the total amount including VAT on the header of purchase orders that met the specified criteria.

  • Recorded information about changes made in purchase order lines in the Log.