Itgennnl025 You do not have the rights for the debtor, company or employee specified

Bij het gebruik van NMBRS V2 krijg ik op de volgende query:

select crl.*
from   companyruns@nms crn
join   CompanyRunJournalsByCompanyRun@nms(crn.id) crl

de foutmelding:

itgennnl025
You do not have the rights for the debtor, company or employee specified.
Check that the ID specified refers to a debtor, company or employee accessible through Nmbrs.
Contact the administrator of the environment and review access rights by tags/filters in the API user template in Nmbrs.
The API privileges per webservice are configurable by clicking in the column labeled ‘API’ available via Settings → User Accounts → Template Users.
Please contact your accountant or Nmbrs in case ‘Template Users’ is missing from the list of options.

Mijn rechten zouden voldoende volledig moeten zijn.

Als ik in de documentatie kijk van NMBRS zelf op https://api.nmbrs.nl/soap/v3/CompanyService.asmx?op=Journals_GetByRunCompany, dan zou te verwachten zijn dat ook de company ID doorgegeven wordt.

Ik heb ook geprobeerd door 1 bedrijf te selecteren en alleen een run ID van dat bedrijf op te vragen:

use 141236@nms

select *
from   CompanyRunJournalsByCompanyRun@nms(26465) crl

maar deze geeft dezelfde foutmelding.

Helaas kan ik niet zien of de company ID juist doorgegeven wordt met:

select url
,      parameter_list
,      public_query_parameters
from   sessionios@datadictionary
where  data_container_alias != 'CloudData'
order
by     id desc

met als uitkomst:

url: https://api.nmbrs.nl/soap/v3/CompanyService.asmx
parameter_list: RunId = 26,465 (int32)
public_query_parameters:

Hoe kan ik toch de loonjournaalposten van alle bedrijven en alle loonruns opvragen?

De volgende query klaagt over het ontbreken van companyid onder versie 24.0.644:

select *
from   CompanyRunJournalsByCompanyRun
       ( companyid => 141126
       , runid => 23197
       ) crl

In versie 24.0.644 is een verbetering doorgevoerd om ook de waardes op te halen. De waardes zijn een XML-bericht.

Daarvoor zijn views toegevoegd:

  • CompanyRunCostCenters
  • CompanyRunCostCenterCostUnits
  • CompanyRunCostCentersV2
  • CompanyRunDepartments
  • CompanyRunDepartmentsV2
  • CompanyRunEmployees
  • CompanyRunEmployeesV2
  • CompanyRunJournalHeaders
  • CompanyRunJournalLines
  • CompanyRunJournalLinesV2
  • CompanyRunPayslipPdfs
  • CompanyRunPayslipPdfsV2
  • RunRequestsPerYearAndPeriod
  • ScheduleCalendars
  • WorkCostsPerYearAndPeriod

Het is mogelijk dat niet alle kolommen aanwezig zijn die in dit XML-bericht kunnen voorkomen; het is niet met zekerheid wat er in kan voorkomen. In voorkomende gevallen moet u dan de kolom Value van CompanyRunJournalsByCompanyRun zelf opknippen via Power BI of via de UniversalSQL feature xmltable.

Hartelijk dank voor het doorvoeren van de verbetering. Ik wilde er gelijk mee aan de slag, maar de views lijken nog niet zichtbaar.

Hieronder een screenshot van de Object Library in de Invantive Query Tool:

In de online omgeving zijn twee van de views meer te zien:

Komt het door de caching van de API wellicht?

Ik hoor het graag.

De views worden pas zichtbaar na verlopen van de cachelevensduur van het zogenaamde EDM-datamodel dat OData gebruikt. De standaardlevensduur is 7 dagen behoudens bij upgrades.

Mochten de views nog niet zichtbaar zijn op Bridge Online, dan is advies om de cache te wissen zoals beschreven in Differentieer OData4 cachegedrag met Power BI.

Let hierbij op dat de juiste omgeving gebruikt wordt: de servernaam dient gelijk te zijn aan de servernaam van het verzoek.