Enquête F01DGS voor Nationale Bank van België met Exact Online

Enquête

Voor België geldt dat alle ingezetenen wettelijk verplicht zijn de aangifte over hun buitenlandse transacties rechtstreeks aan de NBB (Nationale Bank van België) te leveren. Deze enquête beoogt meer specifiek de dienstentransacties met nietingezetenen.

In Nederland kennen we sinds ongeveer 2004 een vergelijkbare rapportage via DNB aan ECB (DRA), de dienstenrapportage. Dat moet ongeveer het jaar zijn geweest dat we in 3 maanden tijd de volledige DNB/PVK-rapportages volgens WTK gerealiseerd hebben en ergens in die tijd heb ik mijn haren verloren en hopelijk wijsheid gewonnen.

Exact Online

Ook vanuit de Belgische Exact Online kun je deze rapportage automatisch samenstellen. En eigenlijk is dat makkelijker dan een DNB-rapportage. Je kunt bijvoorbeeld met de Exact Online editie van de plug-in “Invantive Control for Excel” de gegevens opvragen. Maar het kan ook met alleen de gratis versie van het Invantive Query Tool.

Een manier om de gegevens te verzamelen is om per leverancier bij te houden als classificatie welke soort van activiteit normaliter afgenomen wordt en op die manier alle transacties met die leverancier per activiteitscode te groeperen en te rapporteren.

F01DGS Queries

De volgende twee queries verzamelen de informatie op basis van de REST API en Invantive SQL. De queries zijn ook terug te vinden bij de menuoptie “Scripts” in Invantive Query Tool.

Eerst de transacties:

select gltransaction_date
,      account_code_attr
,      account_name
,      description
,      amount_value
,      finyear_number_attr
,      finperiod_number_attr
from   GLTransactionlines
where  yearrange_from=<>
and    yearrange_to=<>
and    period_from=<>
and    period_to=<>
--
-- There is a counter party involved.
--
and    account_code_attr is not null 
--
-- Tussenrekening debiteuren.
--
and    glaccount_code_attr = '<>' 
--
-- Accounts Receivables.
--
and    glaccount_type_attr = 22 
--
-- Exclude exchange rate differences.
--
and    gltransaction_transactiontype_number_attr != 82 
--
-- Only in-flow.
--
and    amount_value < 0
order
by     gltransaction_date

En dan de leveranciers en hun classificaties:

select account_code_attr
,      account_name
,      account_vatnumber
,      property_code_attr
,      property_description
from   AccountClassifications
where  sequencenumber_attr = 1
order
by     account_code_attr

Voor gebruik met de 2022 versies van de Exact Online API’s biedt het volgende script een basisexport van de afnames:

select tle.Date
,      tle.Account
,      act.Code AccountCode label 'Account Code'
,      act.Name AccountName label 'Account Name'
,      tle.description
,      tle.AmountDC
,      tle.FinancialYear
,      tle.FinancialPeriod
from   TransactionLinesIncremental tle
join   AccountsIncremental act
on     act.id = tle.Account
where  tle.FinancialYear = 2022
and    tle.FinancialPeriod between 1 and 3
--
-- There is a counter party involved.
--
and    tle.Account is not null
--
-- Tussenrekening debiteuren.
--
and    tle.GLAccount 
       in
       ( select /*+ low_cost */ id 
         from   GLAccountsIncremental 
         where  code = '400000'
         and    type = 20 /* Accounts Receivables. */
       )
--
-- Exclude exchange rate differences.
--
and    tle.Type != 82
--
-- Only in-flow.
--
and    tle.AmountDC < 0
order
by     tle.Date

local export results as "${system:userdocumentsdirectory}\transactieregels.xlsx" format xlsx include headers

select act.Code
,      act.name
,      act.VATNumber
,      act.Country
from   act.AccountsIncremental act
order
by     Code

local export results as "${system:userdocumentsdirectory}\relaties.xlsx" format xlsx include headers

Mocht informatie per artikel nodig zijn en niet het cashflow-moment maar het factuurmoment, dan kan ook gewerkt worden voor F01DGS met:

--
-- Druk op F5 om alles uit te voeren.
--
select /*+ result_set_name('Transactieregels') */ 
       tle.Date
,      tle.EntryNumber
,      tle.LineNumber
,      act.Code AccountCode label 'Account Code'
,      act.Name AccountName label 'Account Name'
,      act.VATNumber AccountVATNumber label 'Account VAT number'
,      act.Country AccountCountry label 'Account Country'
,      tle.description
,      tle.AmountDC
,      tle.FinancialYear
,      tle.FinancialPeriod
,      itm.Code ItemCode
,      itm.Description ItemDescription
,      igp.Code ItemGroupCode
from   TransactionLinesIncremental tle
join   ItemsIncremental itm
on     itm.Id = tle.Item
join   ExactOnlineREST..ItemGroups igp
on     igp.Id = itm.ItemGroup
join   AccountsIncremental act
on     act.id = tle.Account
where  tle.FinancialYear = 2023
--
-- No total line and no VAT line.
--
and    tle.LineNumber not in (0, 9999)
and    ( tle.FinancialPeriod between 1 and 3 )
--
-- There is a counter party involved.
--
and    tle.Account is not null
and    tle.JournalCode in ('700', '710')
order
by     tle.Date

local export results as "${system:userdocumentsdirectory}\transactieregels.xlsx" format xlsx include headers

select act.Code
,      act.name
,      act.VATNumber
,      act.Country
from   act.AccountsIncremental act
order
by     act.Code

local export results as "${system:userdocumentsdirectory}\relaties.xlsx" format xlsx include headers