Itgenclr083 "De externe server heeft een fout geretourneerd: (401) Niet gemachtigd." bij sommige administraties

Bij het ophalen van gegevens in Excel vanuit Exact Online krijgen we bij sommige administraties de foutmelding (Invantive Control for Excel 20.2.37-PROD+1423 *32, maar ook met versie 20.0.138, 20.2.44 en 20.2.27):

itgenclr083
De externe server heeft een fout geretourneerd: (401) Niet gemachtigd.
https://start.exactonline.nl/Docs/XMLDownload.aspx?Topic=balances&Params_prevyears=0&Params_afterentry=1&Params_showperiods=1&Params_year=2020&Division=999999

bij het gebruik van een Excel formule zoals deze met boekjaar 2021:

=ALS(EN(NIET(ISLEEG(Nr_EOL1));instellingen!$H$2<=periode);-I_EOL_BAL_PDE_CLOSE_CLASSIFICATION(Nr_EOL1;Huidig_boekjaar;instellingen!$H$2;instellingen!$H$2;Grootb_class_schema;$L549;WAAR;;);0))

De foutmelding treedt op bij tenminste vijf verschillende administraties op, maar wel telkens dezelfde.

Onder details staat:

System.Net.WebException
   bij System.Net.HttpWebRequest.GetResponse()
   bij Invantive.Data.Providers.ExactOnline.ExactOnlineXmlProvider.LBQ(GlobalState , ExecutionOptions , String , String , String , String , QueryObject , XmlObjectDefinition , Int32 , String , String , ParameterList , Guid , Int32& , Int32& , String& , Int64& , Int64& )
   bij Invantive.Data.Providers.ExactOnline.ExactOnlineXmlProvider.WMM.MoveNext()
   bij Invantive.Data.XmlProviderBase.AIU.MoveNext()
   bij System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
   bij Invantive.Data.ResultSet..ctor(GlobalState owner, ExecutionOptions executionOptions, IProviderManager manager, DatabaseColumnDefinitionCollection fields, IEnumerable`1 rows, ResultSetAuditInformation auditInformation)
   bij Invantive.Data.XmlProviderBase.FetchInternal(GlobalState owner, ExecutionOptions executionOptions, EntityFieldCollection entityFields, QueryObject queryObject, ParameterList parameters, Boolean fetchSingle, Boolean fetchCountFirst, Int32 pagingSteps, Boolean fetchCount)
   bij Invantive.Data.GenericProvider.Fetch(GlobalState owner, ExecutionOptions executionOptions, EntityFieldCollection entityFields, QueryObject queryObject, ParameterList parameters, Boolean fetchSingle, Boolean fetchCountFirst, Int32 pagingSteps, Boolean fetchCount)
   bij Invantive.Data.Providers.ExactOnline.ExactOnlineProvider.FetchInternal(GlobalState owner, ExecutionOptions executionOptions, EntityFieldCollection entityFields, QueryObject queryObject, ParameterList parameters, Boolean fetchSingle, Boolean fetchCountFirst, Int32 pagingSteps, Boolean fetchCount)
   bij Invantive.Data.Providers.ExactOnline.ExactOnlineProvider.Fetch(GlobalState owner, ExecutionOptions executionOptions, EntityFieldCollection entityFields, QueryObject queryObject, ParameterList parameters, Boolean fetchSingle, Boolean fetchCountFirst, Int32 pagingSteps, Boolean fetchCount)
   bij Invantive.Producer.Control.UdfUtilities.GetResults(GlobalState owner, ExecutionOptions executionOptions, IConnectionDataProvider provider, EntityFieldCollection entityFields, QueryObject queryObject, ParameterList parameters, ResultAggregationMethod resultAggregationMethod, Object resultError, Object resultNoData, String columnName) in C:\Users\gle3.WS212\Documents\ws-master\Invantive.Control\src\Invantive.Producer.Control\Utility.cs:regel 1002
   bij Invantive.Producer.Control.UdfUtilities.GetResults(GlobalState owner, ExecutionOptions executionOptions, String providerAlias, EntityFieldCollection entityFields, QueryObject queryObject, Boolean isNoValueNA, ResultAggregationMethod resultAggregationMethod, ExecutionHints executionHints, String columnName, ParameterList parameterList) in C:\Users\gle3.WS212\Documents\ws-master\Invantive.Control\src\Invantive.Producer.Control\Utility.cs:regel 920
   bij Invantive.Producer.Control.UdfExactOnline.GetEolXmlBalanceLinePeriodInformation(GlobalState owner, ExecutionOptions executionOptions, String fieldName, String divisionCode, Int64 reportingYear, Int64 reportingPeriodFrom, Int64 reportingPeriodTo, String glAccountCode, String glAccountType, String glAccountBalanceType, String reportingSchemeCode, String classificationCode, Boolean afterEntry, Int64 classificationLevelsIncluded, String executionHint, Boolean isNoValueNA, ResultAggregationMethod resultAggregationMethod) in C:\Users\gle3.WS212\Documents\ws-master\Invantive.Control\src\Invantive.Producer.Control\UDF\Platforms\UdfExactOnline.cs:regel 6305

Analyse

Een analyse van het voorkomen van deze foutmelding op Exact Online sinds februari 2021 geeft aan dat deze foutmelding relatief zelden voorkwam tot september 2021. Sinds september 2021 komt de HTTP 401-foutmelding 10 tot 30 vaker voor per dag dan voor de periode febuari - augustus.

Een vergelijking op basis van de dag in de maand-standen tussen augustus en september geeft aan dat het veel vaker optreden van dit probleem op Exact Online tussen 9 en 13 september 2021 is begonnen. Nauwkeuriger valt het niet te zeggen vanwege weekends e.d.

Enkele tientallen gebruikers hebben hier last van, zowel accountants als finance professionals bij ondernemers, in meerdere Exact Online landen en op verschillende Exact Online XML-API’s zoals balances en items. Het leeuwendeel betreft echter de saldi via balances. Meestal gaat het om gebruikers met tientallen of honderden administraties.

Vervolgvragen

Om de oorzaak te achterhalen en/of een alternatieve oplossing te kunnen bepalen zijn er een aantal vervolgvragen:

  • Kan de foutmelding eenvoudig opgewekt worden met een specifieke Exact Online gebruiker, administratie en formule?
  • Treedt dit XML API probleem op bij zowel interne administraties als zelfboekende ondernemers? Of maar bij één groep Exact Online abonnementen?
  • Kan de Exact Online gebruiker via de Exact Online website wel de proefbalans opvragen van de administraties die een foutmelding geven?
  • Treedt het probleem blijvend op of soms wel en soms niet?
  • Als soms wel en soms niet, helpt het dan om een paar keer opnieuw aan te melden en opnieuw het Excel bestand door te rekenen voor Exact Online?

Kan de foutmelding eenvoudig opgewekt worden met een specifieke Exact Online gebruiker, administratie en formule?

Het is eenvoudig op te roepen door meerdere Excel spreadsheets te openen met een dezelfde formule.

Treedt dit XML API probleem op bij zowel interne administraties als zelf boekende ondernemers? Of maar bij één groep Exact Online abonnementen?

Het probleem treedt op bij zowel interne als zelfboekende administraties.

Kan de Exact Online gebruiker via de Exact Online website wel de proefbalans opvragen van de administraties die een foutmelding geven?

Ja, dan kunnen ze.

Treedt het probleem blijvend op of soms wel en soms niet?

Het probleem treedt blijvend op, bij het openen van meerdere Excel sheets, dan klapt Excel eruit en kan je opnieuw beginnen met aanmelden.