Twinfield Declarations

Bij de Twinfield-koppeling zie ik geen tabel staan met de Declarations (BTW-aangiftes), zoals in de Twinfield API-documentatie. Nu zag ik in een andere comment dat dit wellicht mogelijk zou moeten zijn vanuit de NATIVEPLATFORMSCALARREQUESTS. Ik heb hier geen ervaring mee hoe ik iets kan aanroepen hiermee. Is hier documentatie van hoe ik dit kan doen, of kan de tabel er wel ingezet worden?

Met NativeScalarRequests is het mogelijk om via de reeds opgebouwde en beveiligde verbinding rechtstreeks met het achterliggende platform data uit te wisselen.

Op bijvoorbeeld SQL Server zal dat een statement helemaal volgens de SQL Server-syntax zijn met alle voor- en nadelen.

Naast NativeScalarRequests kan het ook via het execute native-statement.

Voor Twinfield zal dit redelijk complex zijn gezien de werking van de Twinfield-API’s.

Advies is om een link naar deugdelijke API-documentatie van Twinfield voor deze API toe te voegen. Mogelijkerwijs kan dit toegevoegd worden aan de driver. Op Twinfield is het lastig om actuele en volledige API-documentatie te vinden voor een deel van de API’s

Enkele voorbeelden van NativeScalarRequests:

Enkele voorbeelden van execute native:

Voor de NativeScalarRequests zou ik dan alleen de naam van de desbetreffende table moeten achterhalen. Dit zou in dit geval het volgende statement kunnen zijn?

select *
from Twinfield.Twinfield.Declarations@tfd
limit 1000

Voor de documentatie heb ik de volgende link. Mocht dit toegevoegd kunnen worden heel graag. Ik wil dit gebruiken om een BTW rondrekening te kunnen maken. Twinfield API Documentation

Heeft iemand al de mogelijkheid gehad om te kijken naar de Twinfield-documentatie of Declarations toegevoegd kan worden aan de driver?

De afgelopen 2 weken is hier niet naar gekeken. De prioriteit ligt momenteel bij het verzorgen dat verzoeken van gebruikers elkaar onderling niet in de weg zitten. Dit leidt regelmatig tot productiestops op dit moment.

Een eerste versie is in test beschikbaar onder het schema TEST:

Dit schema TEST zal uiteindelijk zonder vooraankondiging vervallen. De tabellen en tabelfuncties verschuiven dan naar Twinfield.

Een voorbeeldquery, die mogelijk later een view wordt, is voor de zelfstandige XBRL-aangifte van BTW:

select t.*
from   declarations dcn
join   VatReturnAsXbrlByDocumentId(dcn.company_code, dcn.id) t

De werking is nog niet geheel duidelijk. Met een grootschalige tekst moet de interpretatie van een BTW-aangifte en de relatie naar ICP / BTW en fiscale eenheid aangifte versus individuele aangifte nog verbeterd worden.

Merk op dat de kolom XBRL een XBRL-bericht bevat met de aangifte. Deze dient nog zelf uitgepakt te worden conform de taxonomie die in het XBRL-bericht staat. Voor een Nederlandse BTW-aangifte is dat bijvoorbeeld http://www.nltaxonomie.nl/6.0/report/bd/entrypoints/rpt-bd-omzetbelasting-2012.xsd.

Voor het veld DOCUMENTCODE zijn de volgende waardes bekend, gesorteerd aflopend op mate van voorkomen:

  • VATTURNOVER (80+%)
  • VATICT (12,5%)
  • TAXGROUP (2,5%)
  • YEARLYSUPPLETION (2,5%)
  • TXGRPYRSP (0,1%)

Tabel IctReturnAsX??lByDocumentId

De tabelfunctie IctReturnAsXbrlByDocumentId kan alleen gebruikt worden met documentcode VATICT zoals in de view IctReturnsAsXbrl:

select m.company_code
,      m.company_name
,      m.* except m.company_code, m.company_name prefix with 'DECLARATION_'
,      d.xbrl
from   Declarations@tfd m
join   IctReturnAsXbrlByDocumentId@tfd(m.company_code, m.Id) d
where  m.DocumentCode = 'VATICT'

of met de variant voor XML zoals in de view IctReturnsAsXml:

select m.company_code
,      m.company_name
,      m.* except m.company_code, m.company_name prefix with 'DECLARATION_'
,      d.xml
from   Declarations@tfd m
join   IctReturnAsXmlByDocumentId@tfd(m.company_code, m.Id) d
where  m.DocumentCode = 'VATICT'

Tabel TaxGroupVatReturnAsX??ByDocumentId

De tabelfunctie TaxGroupVatReturnAsXbrlByDocumentId kan alleen gebruikt worden met documentcodes VATICT, TAXGROUP en TXGRPYRSP zoals:

select m.company_code
,      m.company_name
,      m.* except m.company_code, m.company_name prefix with 'DECLARATION_'
,      d.xbrl
from   Declarations@tfd m
join   TaxGroupVatReturnAsXbrlByDocumentId@tfd(m.company_code, m.Id) d
where  m.DocumentCode in ('VATICT', 'TAXGROUP', 'TXGRPYRSP')

Echter, de XML-variant kan niet geraadpleegd worden voor VATICT en TXGRPYRSP:

select m.company_code
,      m.company_name
,      m.* except m.company_code, m.company_name prefix with 'DECLARATION_'
,      d.xml
from   Declarations@tfd m
join   TaxGroupVatReturnAsXmlByDocumentId@tfd(m.company_code, m.Id) d
where  m.DocumentCode = 'TAXGROUP'

De referenties kan ook enkel met TAXGROUP:

select m.company_code
,      m.company_name
,      m.* except m.company_code, m.company_name prefix with 'DECLARATION_'
,      d.paymentreference
from   Declarations@tfd m
join   TaxGroupVatReturnPaymentReferenceByDocumentId@tfd(m.company_code, m.Id) d
where  m.DocumentCode = 'TAXGROUP'

Tabel VatReturnAsX??ByDocumentId

De tabelfunctie VatReturnAsXbrlByDocumentId kan alleen gebruikt worden met documentcode VATICT, VATTURNOVER en YEARLYSUPPLETION zoals:

select m.company_code
,      m.company_name
,      m.* except m.company_code, m.company_name prefix with 'DECLARATION_'
,      d.xbrl
from   Declarations@tfd m
join   VatReturnAsXbrlByDocumentId@tfd(m.company_code, m.Id) d
where  m.DocumentCode in ('VATICT', 'VATTURNOVER', 'YEARLYSUPPLETION')

of met de variant voor XML:

select m.company_code
,      m.company_name
,      m.* except m.company_code, m.company_name prefix with 'DECLARATION_'
,      d.xml
from   Declarations@tfd m
join   VatReturnAsXmlByDocumentId@tfd(m.company_code, m.Id) d
where  m.DocumentCode in ('VATICT', 'VATTURNOVER', 'YEARLYSUPPLETION')

De referenties kan enkel met VATTURNOVER en YEARLYSUPPLETION:

select m.company_code
,      m.company_name
,      m.* except m.company_code, m.company_name prefix with 'DECLARATION_'
,      d.paymentreference
from   Declarations@tfd m
join   VatReturnPaymentReferenceByDocumentId@tfd(m.company_code, m.Id) d
where  m.DocumentCode in ('VATTURNOVER', 'YEARLYSUPPLETION')

2 berichten zijn gesplitst naar een nieuw topic: Server was unable to process request