Page 4 of 5 FirstFirst ... 2 3 4 5 LastLast
Results 46 to 60 of 69

Thread: Exact online Oauth met Indy tidhttp

  1. #46
    Member
    Join Date
    May 2001
    Location
    Hoofddorp
    Posts
    40
    Ja, ik doorloop iedere keer het hele proces van verkrijgen van code en van token.
    Ik neem aan dat de division de administratie is waar je naar toe wil schrijven? Ik heb er nu 2 aangemaakt en ik wil schrijven naar de tweede (die adm. nr. ofwel code 2 heeft)
    Ik werk by the way met delphi xe2. En met gewone strings. (dat is toch unicode?)

    En ik heb de vraag uitgezet bij Exact, maar die komen meestal terug met een voorbeeld waar ik niet zo makkelijk mee uit de voeten kan (bijvoorbeeld in XML of postman)

    Mijn procedure om een relatie aan te maken ziet er zo uit:

    procedure TForm1.addrelationClick(Sender: TObject);
    var
    s:string;

    begin
    { exact='https://start.exactonline.nl/api/';}
    params.clear;
    idhttp1.Request.CustomHeaders.clear;
    idhttp1.Request.CustomHeaders.Add('Authorization: Bearer '+ token);

    s:=exact+'docs/ClearSession.aspx?Division=2&Remember=2'; {Dit vond ik op de help site https://help.exactonline.com/Leg-uk/EN/All/Content/Resources/EOL%20Files/HLP/ImpExpExtAppF.html}

    s:=idhttp1.post(s,params); {lege respons}


    Params.Add('service=1');
    Params.Add('csvcolumns=Name,Addressline1,city,iscu stomer');
    Params.Add('delimiter=,');
    params.add('_division_=2'); {ten overvloede?}

    s:=exact+'docs/CrmAccountsImport.aspx?'+replace(#13#10,'&',params .text);

    while(s<>'') and (s[length(s)]='&') do setlength(s,length(s)-1); {overtollige lege regels weghalen}
    params.loadfromfile('d:\data\delphi-files\rest api\adres.csv'); {hierin de info van de klant}
    idhttp1.request.contenttype:='application/json'; {had ik ook ergens zien staan in de help, maar of het moet??}
    s:=idhttp1.post(s,params);

    showmessage(s); {die is dus leeg}

    end;

  2. #47
    Het zou dus waarschijnlijk
    application/csv
    moeten zijn want het bestand dat je verstuurd is csv.

    Hoe meer ik kijk op internet hoe meer ik die bearer authenticatie tegenkom. Dus ik denk dat het die wel moet zijn.

    Die division kun je oproepen, geloof ik. Er is een commando om alle divisions naar voren te krijgen. Ik dacht niet dat ze bij 1 beginnen.

    Ik zal morgen nog eens verder kijken.


    Edit...
    A Partner Key is mandatory.
    ???
    Last edited by rvk; 10-Jul-15 at 01:01.

  3. #48
    Ik weet niet of je nog verder gekomen bent.... maar...

    Je zou eerst eens een "simpele" query kunnen doen voor de Division-nummers binnen je administratie.

    Delphi Code:
    1. uses
    2.   IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
    3.   IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL;
    4.  
    5. // CSV API
    6. //
    7. // The URL should always contain the division parameter e.g.
    8. //
    9. // ../docs/CRMAccountSearch.aspx?rcaction=31&sysexporting=4&csvcolumns=Name,AddressLine1,Postcode,City&exportlines=0&_Division_={division}
    10. //
    11. // GET ../docs/CRMAccountSearch.aspx?rcaction=31&sysexporting=4&csvcolumns=Name,AddressLine1,Postcode,City&exportlines=0&_Division_=4293
    12. // Retrieves the list of all available divisions: GET ../docs/XMLDivisions.aspx
    13.  
    14. function GetDivisions(access_token: String; LogMemo: TMemo = nil): String;
    15. const
    16.   exact_url = 'https://start.exactonline.nl';
    17.   division_url = '/api/docs/XMLDivisions.aspx';
    18. var
    19.   IdHTTP1: TIdHTTP;
    20.   S: string;
    21. begin
    22.   Result := '';
    23.   IdHTTP1 := TIdHTTP.Create(nil);
    24.   try
    25.     IdHTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(IdHTTP1);
    26.     IdHTTP1.Request.BasicAuthentication := false;
    27.     IdHTTP1.Request.CustomHeaders.Clear;
    28.     IdHTTP1.Request.CustomHeaders.Add('Authorization: Bearer ' + access_token);
    29.     IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
    30.     try
    31.         result := IdHTTP1.Get(exact_url + division_url);
    32.     finally
    33.       if LogMemo <> nil then
    34.       begin
    35.         LogMemo.Lines.Add(IdHTTP1.Response.RawHeaders.Text);
    36.         LogMemo.Lines.Add('--------------');
    37.         LogMemo.Lines.Add(result);
    38.       end;
    39.     end;
    40.   finally
    41.     IdHTTP1.Free;
    42.   end;
    43. end;
    44.  
    45. // gebruik:
    46.  
    47. var
    48.   access_token: String;
    49.   divisions: String;
    50. begin
    51.   // haal een verse access_token op a.d.h.v. je refresh_token.
    52.   // als het goed is is je refresh_token nog steeds geldig dus je hoeft niet opnieuw authentication te doen
    53.  
    54.   access_token := GetNewAccessToken(refresh_token);
    55.   if access_token <> '' then
    56.     divisions := GetDivisions(access_token, Memo1);
    57.   ShowMessage(divisions);
    58. end;

    Wat is het resultaat van de divisions ??

    Ik heb verder geen refresh_token om het een en ander te testen maar de routine om een adresbestand te importeren zou er bijvoorbeeld zo uit kunnen zien:

    Delphi Code:
    1. uses
    2.   IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
    3.   IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL;
    4.  
    5. function ImportAccounts(importfile, access_token, division: String; LogMemo: TMemo = nil): String;
    6. const
    7.   exact_url = 'https://start.exactonline.nl';
    8.   import_url = '/api/docs/CrmAccountsImport.aspx';
    9. var
    10.   IdHTTP1: TIdHTTP;
    11.   Params: TStringList;
    12.   Param: String;
    13.   S: string;
    14. begin
    15.   Result := '';
    16.   IdHTTP1 := TIdHTTP.Create(nil);
    17.   Params := TStringList.Create;
    18.   try
    19.     Param := '?service=1&csvcolumns=NAME,Postcode,City&delimiter=,&_Division_=' + division;
    20.     Params.loadfromfile(importfile);
    21.  
    22.     IdHTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(IdHTTP1);
    23.     IdHTTP1.Request.BasicAuthentication := false;
    24.     IdHTTP1.Request.CustomHeaders.Clear;
    25.     IdHTTP1.Request.CustomHeaders.Add('Authorization: Bearer ' + access_token);
    26.     IdHTTP1.Request.Contenttype := 'application/csv'; // <-- we versturen een csv
    27.     IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
    28.     try
    29.         result := IdHTTP1.Post(exact_url + import_url + Param, Params);
    30.     finally
    31.       if LogMemo <> nil then
    32.       begin
    33.         LogMemo.Lines.Add(IdHTTP1.Response.RawHeaders.Text);
    34.         LogMemo.Lines.Add('--------------');
    35.         LogMemo.Lines.Add(result);
    36.       end;
    37.     end;
    38.   finally
    39.     IdHTTP1.Free;
    40.   end;
    41. end;

    Zonder "Authorization: Bearer" krijg ik "HTTP/1.1 401 Unauthorized".
    Met "Authorization: Bearer" krijg ik "HTTP/1.1 302 Moved Temporarily"
    maar dat is logisch want dat is een doorverwijzing naar het loginscherm omdat mijn access_token niet klopt.
    (Location: /docs/Login.aspx?ReturnUrl=%2fapi%2fdocs%2fXMLDivisions. aspx)

    Dus volgens mij zou het met die "Authorization: Bearer" wel moeten werken.

  4. #49
    Member
    Join Date
    May 2001
    Location
    Hoofddorp
    Posts
    40
    Ik ben gelukkig wel verder gekomen. Met de topic in de header en de division parameter voor mijn administratie kan ik nu relaties en grootboekrekeningen wegschrijven naar mijn administratie. Dat geeft de burger moed!
    Ik heb nog wel een ander probleem, dat is het volgende:
    ik heb een grootboek die alleen uit journaalposten bestaat. In de mutaties zijn de volgende gegevens opgenomen:
    - bedrag, beschrijving, datum, journaal, boekstuk, eventueel debiteurennummer, grootboekrekening en -naam. Als ik kijk naar de import aspx-en dan moet ik de mutaties rubriceren naar een verkoop of inkoop mutatie. Die informatie heb ik echter niet, alleen een journaal id en -naam. Kan ik nu toch de mutaties inlezen in Exact en zo ja, via welke aspx en met welk commando? (een post commando natuurlijk, maar hoe ziet de url er dan uit?).
    Het vreemde is dat met de XML API wel de mogelijkheid bestaat om mutaties naar een soort generieke journaalpost weg te schrijven, inclusief verwijzing naar een journaal, in de CSV API moet je aangeven of het een verkoop of een inkoop is. Wat nu als ik een journaal heb met mutaties die geen in- of verkoop zijn (bv. management fee). Hoe moet ik die nu in mijn administratie krijgen? Of zie ik wat over het hoofd...

  5. #50
    In Exact zelf heb je ook alleen maar inlezen "verkoop-boekingen" en inlezen "inkoop-boekingen". Dit kunnen dan wel journaalposten zijn. Je moet volgens mij ook een dagboek opgeven en aan de hand daarvan zou je dan kunnen zien of het inkoop of verkoop is. Heb jij gaan dagboek voor die posten?

    Je hebt het verder over debiteuren dus ik neem aan dat het gewoon om verkoop-boekingen gaat.
    Hier staan alle "applicaties" (URLs dus) die je kunt gebruiken.
    Zou je dan niet gewoon FinGeneralImport.aspx (voor General journal entries) moeten gebruiken?

    Quote Originally Posted by jthesing View Post
    Als ik kijk naar de import aspx-en dan moet ik de mutaties rubriceren naar een verkoop of inkoop mutatie.
    Waar zie je dat?

  6. #51
    Member
    Join Date
    May 2001
    Location
    Hoofddorp
    Posts
    40

    [QUOTE=rvk;347672]Waar zie je dat?[/QUOTE]

    Als je kijkt naar de import aspxen dan zie je 3 mogelijke journalen, inkoop, verkoop en general (memoriaal?):
    General journal entries FinGeneralImport.aspx
    Sales entry FinLogisticImport.aspx?Type=0
    Purchase entry FinLogisticImport.aspx?Type=1
    (https://developers.exactonline.com/#...20API%7C_____2)

    Als ik naar het overzicht van rest api ga https://developers.exactonline.com/#...20API%7C_____2)
    dan naar de generaljournalentries en dan naar de generaljounalentrylines (https://start.exactonline.nl/docs/Hl...ils.aspx?id=34) en vervolgens klik op "post" (bovenin), omdat ik informatie naar exact wil sturen, dan zie ik geen mogelijkheid om een referentie naar een dagboek (bijvoorbeeld management fee, of ieder ander dagboek, niet zijnde kas, bank, giro, verkopen of inkopen) mee te geven.
    Bovendien: als ik een mutatie heb waarbij het dagboek "verkopen" is in administratie 1 en "Verkoop" in administratie 2 en "Omzet" in administratie 3, hoe vertel ik dan mijn applicatie in welke aspx het geboekt moet worden? Je gaat toch niet bij elke mutatie een vraag stellen aan de gebruiker? Veel handiger zou zijn om zelf de dagboeken te importeren en vervolgens algemene journaalposten te importeren waarbij een referentie naar het dagboek wordt gegeven. Daar zit ik dus een beetje mee...


    [QUOTE=rvk;347672]In Exact zelf heb je ook alleen maar inlezen "verkoop-boekingen" en inlezen "inkoop-boekingen". Dit kunnen dan wel journaalposten zijn. Je moet volgens mij ook een dagboek opgeven en aan de hand daarvan zou je dan kunnen zien of het inkoop of verkoop is. Heb jij gaan dagboek voor die posten?

    Je hebt het verder over debiteuren dus ik neem aan dat het gewoon om verkoop-boekingen gaat.
    Hier staan alle "applicaties" (URLs dus) die je kunt gebruiken.
    Zou je dan niet gewoon FinGeneralImport.aspx (voor General journal entries) moeten gebruiken?


    Quote Originally Posted by rvk View Post
    Waar zie je dat?

  7. #52
    Op dit moment zijn de volgende aspx-en beschikbaar;
    • Begin balans: FinOpeningBalImport.aspx
    • Memoriaal boekingen: FinGeneralImport.aspx
    • Verkoopboeking: FinLogisticImport.aspx?Type=0
    • Inkoopboeking: FinLogisticImport.aspx?Type=1
    • Grootboekrekeningen: FinGLAccountsImport.aspx
    • Relaties: CRMAccountsImport.aspx
    • Contactpersonen: CRMContactsImport.aspx
    • Artikelen: LogItemsImport.aspx
    • Facturen: LogInvoiceImport.aspx
    Dus je kunt alleen maar kiezen uit één van bovenstaande aspx importeerders.

    Quote Originally Posted by jthesing
    Bovendien: als ik een mutatie heb waarbij het dagboek "verkopen" is in administratie 1 en "Verkoop" in administratie 2 en "Omzet" in administratie 3, hoe vertel ik dan mijn applicatie in welke aspx het geboekt moet worden? Je gaat toch niet bij elke mutatie een vraag stellen aan de gebruiker? Veel handiger zou zijn om zelf de dagboeken te importeren en vervolgens algemene journaalposten te importeren waarbij een referentie naar het dagboek wordt gegeven. Daar zit ik dus een beetje mee...
    Je hebt deze "soorten" dagboeken binnen exact:
    • Bank
    • Kas
    • Memoriaal
    • Inkoop
    • Verkoop
    Elk dagboek behoort onder één van deze soorten te vallen. Elke boeking valt weer onder één van de dagboeken. Dus een dagboek "Omzet" (welke code?) valt gewoon onder "Verkoop"-soort en zal dus met FinLogisticImport.aspx?Type=0 ingelezen kunnen worden. Maar volgens mij kun je met één van de te importeren velden wel aangeven welk dagboek-nummer/code dat dan moet zijn (omdat je meerdere dagboeken verkoop kunt hebben). Als je geen dagboek op geeft wordt er volgens mij een standaard gebruikt voor verkoop (die je in je standaard administratie-instellingen op kunt geven).

    Als jij een bestand hebt met alles door elkaar dan denk ik dat je die eerst moet groeperen en dan naar de juiste dagboeksoort importeren.

    Kun je anders nog eens precies uitleggen wat voor bestand, met welke gegevens je hebt en waar je dan precies mee zit?

  8. #53
    Member
    Join Date
    May 2001
    Location
    Hoofddorp
    Posts
    40
    Quote Originally Posted by rvk View Post
    Dus je kunt alleen maar kiezen uit één van bovenstaande aspx importeerders.



    Je hebt deze "soorten" dagboeken binnen exact:

    Elk dagboek behoort onder één van deze soorten te vallen. Elke boeking valt weer onder één van de dagboeken. Dus een dagboek "Omzet" (welke code?) valt gewoon onder "Verkoop"-soort en zal dus met FinLogisticImport.aspx?Type=0 ingelezen kunnen worden. Maar volgens mij kun je met één van de te importeren velden wel aangeven welk dagboek-nummer/code dat dan moet zijn (omdat je meerdere dagboeken verkoop kunt hebben). Als je geen dagboek op geeft wordt er volgens mij een standaard gebruikt voor verkoop (die je in je standaard administratie-instellingen op kunt geven).

    Als jij een bestand hebt met alles door elkaar dan denk ik dat je die eerst moet groeperen en dan naar de juiste dagboeksoort importeren.

    Kun je anders nog eens precies uitleggen wat voor bestand, met welke gegevens je hebt en waar je dan precies mee zit?
    ------------
    Ik werk met een auditfile, dat is een XML of tekst bestand waarin de mutaties zijn opgenomen. Een mutatieregel ziet er ongeveer zo uit (als CSV):
    Kopregel:
    "fiscalYear","grootboekrekeningnaam","grootboekrek eningtype","debcredtype","debcrednaam","dagboekcod e","dagboekomschrijving","dagboektype","transactie nummer","transactieomschrijving","periode","transa ctiedatum","regelnummer","grootboekrekening","muta tiedatum","mutatieomschrijving","debet","credit"," btwcode","btwpercentage","debcrednummer","boekstuk nummer","grootboekrekeningcode","saldo"
    Mutatieregel
    "2010","Debiteuren (met subadministratie)","BAL","d","Blik Metaal BV","200","Bankboek","BANK","200 3","Maart","3","2010-03-01","0000043286","1200","2010-03-05","Blik assen 267x33","","4566.97","","","26000","15312","1200", "-4566.97"

    Mijn ideaalbeeld zou zijn dat ik de gebruiker aanbied om zijn auditfile in te lezen in mijn applicatie en dat volautomatisch alle mutaties worden ingelezen in Exact. Wellicht eerst met een duiding van de dagboeken (inkoop/verkoop enz), maar daarna gewoon als mutatieregels, zonder dagboek duiding. Volgens mij kan dat namelijk in de XML variant wel, daar kun je gewoon een algemene transaktieregel inlezen.
    Maar inderdaad, eerst sorteren op dagboek, daarna aan de gebruiker vragen hoe een dagboek geduid moet worden en vervolgens alle mutaties van dat dagboek inlezen kan ook.

    Weet jij toevallig of je de velden uit generaljournalentries en generaljournalentrylines kunt combineren in een post naar FinGeneralImport.aspx?

  9. #54
    Quote Originally Posted by jthesing View Post
    Kopregel:
    Code:
    "fiscalYear","grootboekrekeningnaam","grootboekrekeningtype","debcredtype","debcrednaam","dagboekcode","dagboekomschrijving","dagboektype","transactienummer","transactieomschrijving","periode","transactiedatum","regelnummer","grootboekrekening","mutatiedatum","mutatieomschrijving","debet","credit","btwcode","btwpercentage","debcrednummer","boekstuknummer","grootboekrekeningcode","saldo"
    Mutatieregel
    Code:
    "2010","Debiteuren (met subadministratie)","BAL","d","Blik Metaal BV","200","Bankboek","BANK","200         3","Maart","3","2010-03-01","0000043286","1200","2010-03-05","Blik assen 267x33","","4566.97","","","26000","15312","1200","-4566.97"
    Code en dit soort teksten kun je op het forum het beste tussen code-tags plaatsen. Dan is het wat meer leesbaarder. (zoals hierboven)

    Quote Originally Posted by jthesing View Post
    Mijn ideaalbeeld zou zijn dat ik de gebruiker aanbied om zijn auditfile in te lezen in mijn applicatie en dat volautomatisch alle mutaties worden ingelezen in Exact.
    Ik zie in het bestand toch ook gewoon dagboekcode en dagboektype staan. Dus je zou deze regel gewoon in moeten kunnen lezen. Ik weet echter niet waar je bankbetalingen mee in moet lezen. Voor CSV heb je bank, kas, verkoop, inkoop en memoriaal. Maar die BANK en KAS zie ik niet als aspx staan. (Je zou eens na moeten vragen of dat wel mogelijk is)
    Binnen Exact Online heeft u de mogelijkheid om transacties te importeren via CSV/Excel of XML bestanden. De import van transacties via CSV/Excel is opgesplitst naar type boeking (bank, kas, verkoop, inkoop en memoriaal). U vindt de importmogelijkheid via [Administratienaam, Import/Export, Methode, CSV/Excel, <type boeking> , Import].

    Welke kolommen verplicht zijn en wat er allemaal geïmporteerd kan worden, staat aangegeven in het schema. Het bijbehorende schema vindt u via [Administratienaam, Import/Export, Methode, CSV/Excel, <type boeking> , Schema].
    Quote Originally Posted by jthesing View Post
    Wellicht eerst met een duiding van de dagboeken (inkoop/verkoop enz), maar daarna gewoon als mutatieregels, zonder dagboek duiding.
    Waarom zonder dagboekaanduiding?? Die heb je toch?

    Quote Originally Posted by jthesing View Post
    Volgens mij kan dat namelijk in de XML variant wel, daar kun je gewoon een algemene transaktieregel inlezen.
    Dat kan met de CSV dus ook. Dat is de "memoriaal boekingen" (FinGeneralImport.aspx). Daar heb je geen dagboek voor nodig maar je moet dan wel complete journaalposten inlezen. Dus de regel(s) "AAN" moeten overeenkomen met het totaal van de volgende regels. Ze moeten gebalanceerd zijn. Maar je kunt natuurlijk ook altijd REST of XML gebruiken.

    Quote Originally Posted by jthesing View Post
    ------------
    Weet jij toevallig of je de velden uit generaljournalentries en generaljournalentrylines kunt combineren in een post naar FinGeneralImport.aspx?
    FinGeneralImport voor de memoriaalboekingen was volgens mij gewoon een vergaarbak om alle andere transacties direct te boeken. Ik weet niet welke velden je uit generaljournalentries en generaljournalentrieslines bedoeld maar je zou moeten kijken welke velden FinGeneralImport allemaal in kan lezen en welke verplicht zijn en je moet dan complete journaalpost-regels opbouwen en doorsturen.

    Maar of je daarmee b.v. een verkoop en betaling kunt registreren op een bepaalde debiteur weet ik niet.

    Heeft Exact verder geen mogelijkheid om een complete auditfile in te lezen? Ik neem aan dat ze wel de mogelijkheid hebben om deze te exporteren. Exact Globe had dat bijvoorbeeld wel: http://www.exactsoftware.com/docs/Do...c8712522513%7D


    tevens:
    Nagenoeg alle online boekhoudpakketten kunnen een auditfile exporteren. Deze kun je vervolgens zelf ook 'lezen' via een auditfileviewer, maar vaak kun je deze ook importeren in een ander (online)boekhoudpakket.

    Bijvoorbeeld; je stapt over van Snelstart naar ExactOnline. Dan kun je dus de boekjaren uit het verleden tot en met 2014 exporteren en deze vervolgens importeren in ExactOnline zodat de historische gegevens bewaard blijven (en inzichtelijk voor je vergelijkende cijfers).
    (bron)
    Last edited by rvk; 11-Jul-15 at 15:00.

  10. #55
    Member
    Join Date
    May 2001
    Location
    Hoofddorp
    Posts
    40
    Quote Originally Posted by rvk View Post
    Code en dit soort teksten kun je op het forum het beste tussen code-tags plaatsen. Dan is het wat meer leesbaarder. (zoals hierboven)


    Ik zie in het bestand toch ook gewoon dagboekcode en dagboektype staan. Dus je zou deze regel gewoon in moeten kunnen lezen. Ik weet echter niet waar je bankbetalingen mee in moet lezen. Voor CSV heb je bank, kas, verkoop, inkoop en memoriaal. Maar die BANK en KAS zie ik niet als aspx staan. (Je zou eens na moeten vragen of dat wel mogelijk is)



    Waarom zonder dagboekaanduiding?? Die heb je toch?


    Dat kan met de CSV dus ook. Dat is de "memoriaal boekingen" (FinGeneralImport.aspx). Daar heb je geen dagboek voor nodig maar je moet dan wel complete journaalposten inlezen. Dus de regel(s) "AAN" moeten overeenkomen met het totaal van de volgende regels. Ze moeten gebalanceerd zijn. Maar je kunt natuurlijk ook altijd REST of XML gebruiken.


    FinGeneralImport voor de memoriaalboekingen was volgens mij gewoon een vergaarbak om alle andere transacties direct te boeken. Ik weet niet welke velden je uit generaljournalentries en generaljournalentrieslines bedoeld maar je zou moeten kijken welke velden FinGeneralImport allemaal in kan lezen en welke verplicht zijn en je moet dan complete journaalpost-regels opbouwen en doorsturen.

    Maar of je daarmee b.v. een verkoop en betaling kunt registreren op een bepaalde debiteur weet ik niet.

    Heeft Exact verder geen mogelijkheid om een complete auditfile in te lezen? Ik neem aan dat ze wel de mogelijkheid hebben om deze te exporteren. Exact Globe had dat bijvoorbeeld wel: http://www.exactsoftware.com/docs/Do...c8712522513%7D


    tevens:

    (bron)
    Exact online heeft geen mogelijkheid om auditfiles in te lezen, vreemd genoeg. Exporteren is natuurlijk wel mogelijk.
    Met dagboekduiding bedoelde ik eigenlijk dat je bij het importeren van mutatieregels eerst een keuze moet maken welke aspx je gebruikt. Dat lijkt me overbodig als je in je mutatieregel al een dagboek meegeeft. Maar ik denk dat ik inderdaad me maar ga verdiepen in de XML import mogelijkheden.

  11. #56
    Member
    Join Date
    May 2001
    Location
    Hoofddorp
    Posts
    40
    Hoi Rik,
    Ik probeer nu met een XML bestand een mutatie in te voeren:
    <?xml version="1.0" encoding="utf-8"?>
    <eExact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="eExact-XML.xsd">
    <GLtransactions>
    <GLtransaction>
    <journal><code>90</code></journal>
    <description>E2Atest</description>
    <gltransactionline>
    <date>20-10-2012</date>
    <description>Aanschaf</description>
    <amount>110</amount>
    <glaccount>0200</glaccount>
    </gltransactionline>
    </GLtransaction>
    <GLtransaction>
    <journal><code>90</code></journal>
    <description>E2Atest</description>
    <gltransactionline>
    <date>20-10-2012</date>
    <description>Verkoop</description>
    <amount>-110</amount>
    <glaccount>0200</glaccount>
    </gltransactionline>
    </GLtransaction>
    </GLtransactions>
    </eExact>
    Dan krijg ik de melding dat ik onvoldoende rechten heb om deze transaktie uit te voeren. Maar ik ben administrator van mijn administratie en ik heb een token!
    Heb jij een idee?

  12. #57
    Quote Originally Posted by jthesing View Post
    Dan krijg ik de melding dat ik onvoldoende rechten heb om deze transaktie uit te voeren. Maar ik ben administrator van mijn administratie en ik heb een token!
    Welkom in de wondere wereld van Exact... waar de tekst van foutmeldingen niets te maken heeft met het werkelijke probleem

    Dit kom ik bij het inlezen van CSV bestanden ook altijd tegen. b.v. "U heeft een verkeerde debiteur opgegeven"... en dan blijkt het niet de debiteur te zijn die verkeerd is maar een heel ander veld (zoals omzetgroep of btwcode)

    Ik ga er even vanuit dat je wel gewoon weer een "verse" access_token verkregen hebt en die meegegeven hebt in de "Authorization: Bearer" en dat je in de URL ook die _Divisie_ meegegeven hebt.

    Als ik even naar je XML kijk:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <eExact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="eExact-XML.xsd">
      <GLtransactions>
        <GLtransaction>
          <journal>
            <code>90</code>
          </journal>
          <description>E2Atest</description>
          <gltransactionline>
            <date>20-10-2012</date>
            <description>Aanschaf</description>
            <amount>110</amount>
            <glaccount>0200</glaccount>
          </gltransactionline>
        </GLtransaction>
        <GLtransaction>
          <journal>
            <code>90</code>
          </journal>
          <description>E2Atest</description>
          <gltransactionline>
            <date>20-10-2012</date>
            <description>Verkoop</description>
            <amount>-110</amount>
            <glaccount>0200</glaccount>
          </gltransactionline>
        </GLtransaction>
      </GLtransactions>
    </eExact>
    valt mij wel wat op. Ik zie dat jij dit gebruikt:
    Code:
    <journal>
      <code>90</code>
    </journal>
    Maar moet dat niet dit zijn ????????
    Code:
    <journal code=90></journal>
    Zo was het in ieder geval in Exact Globe. (zie hier en hier)

    Zo ook met
    Code:
    <GLAccount code="0200"></GLAccount>
    in plaats van:
    Code:
    <glaccount>0200</glaccount>
    Hoe kom je aan deze opbouw van XML?

    Ook kun je even inloggen op Exact en even bij import/export de schemas bekijken en controleren welke velden verplicht zijn.

    Je kunt ook even in Exact zelf kijken welke meldingen eruit komen door het bestand te valideren:
    Administratienaam > Import/Export > Methode XML selecteren > Import voor het type gegevens dat u wilt importeren > kies bestand > Klik valideren

    Als laatste zou je ook een export van XML kunnen doen om te kijken hoe Exact zelf dit bestand wegschrijft zodat je kan zien hoe het in elkaar steekt.

    Als laatste kun je natuurlijk je bestand aan Exact geven en vragen wat er precies mis mee is.
    (Maar dan moet je dus wel vrij zeker weten dat het formaat correct is anders krijg je een vrij "slap" antwoord terug)

    (Hoewel ik ook begrijp dat de support voor dit soort dingen bij bedrijven als Exact nogal te wensen overlaat)

    Welke URL heb je overigens gebruikt om dit te uploaden???

  13. #58
    Member
    Join Date
    May 2001
    Location
    Hoofddorp
    Posts
    40
    Quote Originally Posted by rvk View Post
    Welkom in de wondere wereld van Exact... waar de tekst van foutmeldingen niets te maken heeft met het werkelijke probleem

    Dit kom ik bij het inlezen van CSV bestanden ook altijd tegen. b.v. "U heeft een verkeerde debiteur opgegeven"... en dan blijkt het niet de debiteur te zijn die verkeerd is maar een heel ander veld (zoals omzetgroep of btwcode)

    Ik ga er even vanuit dat je wel gewoon weer een "verse" access_token verkregen hebt en die meegegeven hebt in de "Authorization: Bearer" en dat je in de URL ook die _Divisie_ meegegeven hebt.

    Als ik even naar je XML kijk:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <eExact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="eExact-XML.xsd">
      <GLtransactions>
        <GLtransaction>
          <journal>
            <code>90</code>
          </journal>
          <description>E2Atest</description>
          <gltransactionline>
            <date>20-10-2012</date>
            <description>Aanschaf</description>
            <amount>110</amount>
            <glaccount>0200</glaccount>
          </gltransactionline>
        </GLtransaction>
        <GLtransaction>
          <journal>
            <code>90</code>
          </journal>
          <description>E2Atest</description>
          <gltransactionline>
            <date>20-10-2012</date>
            <description>Verkoop</description>
            <amount>-110</amount>
            <glaccount>0200</glaccount>
          </gltransactionline>
        </GLtransaction>
      </GLtransactions>
    </eExact>
    valt mij wel wat op. Ik zie dat jij dit gebruikt:
    Code:
    <journal>
      <code>90</code>
    </journal>
    Maar moet dat niet dit zijn ????????
    Code:
    <journal code=90></journal>
    Zo was het in ieder geval in Exact Globe. (zie hier en hier)

    Zo ook met
    Code:
    <GLAccount code="0200"></GLAccount>
    in plaats van:
    Code:
    <glaccount>0200</glaccount>
    Hoe kom je aan deze opbouw van XML?

    Ook kun je even inloggen op Exact en even bij import/export de schemas bekijken en controleren welke velden verplicht zijn.

    Je kunt ook even in Exact zelf kijken welke meldingen eruit komen door het bestand te valideren:
    Administratienaam > Import/Export > Methode XML selecteren > Import voor het type gegevens dat u wilt importeren > kies bestand > Klik valideren

    Als laatste zou je ook een export van XML kunnen doen om te kijken hoe Exact zelf dit bestand wegschrijft zodat je kan zien hoe het in elkaar steekt.

    Als laatste kun je natuurlijk je bestand aan Exact geven en vragen wat er precies mis mee is.
    (Maar dan moet je dus wel vrij zeker weten dat het formaat correct is anders krijg je een vrij "slap" antwoord terug)

    (Hoewel ik ook begrijp dat de support voor dit soort dingen bij bedrijven als Exact nogal te wensen overlaat)

    Welke URL heb je overigens gebruikt om dit te uploaden???
    Ik gebruik de URL https://start.exactonline.nl/docs/XMLUpload.aspx?Topic=GLTransactions&output=1&param s_year=2012&partner_key={eb3987e5-9a26-4793-afb1-0cfafd5db5ce}
    Ik ben er inmiddels achter dat de XML hoofdlettergevoelig is, dus dat verklaart al 1 probleem. Ik gebruikte in eerste instantie de verkeerde topic, dus vandaar de weigering van Exact wegens onvoldoende rechten.
    Ik kom steeds verder, maar krijg steeds vreemde foutmeldingen, waarmee ik me een pukkel zoek om erachter te komen wat er aan de hand is. Nu heb ik de XML denk ik bijna goed, maar krijg nog een foutmelding "ontbrekende regels". Geen idee wat ze daar nou weer mee bedoelen! Boekstuknummer? Boeking niet in evenwicht?

  14. #59
    Quote Originally Posted by jthesing View Post
    Ik gebruik de URL https:// start.exactonline.nl/docs/XMLUpload.aspx?Topic=GLTransactions&output=1&param s_year=2012&partner_key={eb3987e5-9a26-4793-afb1-0cfafd5db5ce}
    Ben je in 2012 aan het boeken

    Ik kom steeds verder, maar krijg steeds vreemde foutmeldingen, waarmee ik me een pukkel zoek om erachter te komen wat er aan de hand is. Nu heb ik de XML denk ik bijna goed, maar krijg nog een foutmelding "ontbrekende regels". Geen idee wat ze daar nou weer mee bedoelen! Boekstuknummer? Boeking niet in evenwicht?
    Ja... zoals ik al zei... die "foutmeldingen" In plaats van dat ze nou gewoon vermelden wat voor soort regels ze missen.

    Geeft ie "ontbrekende regels" of "ontbrekende tegenregels" ?

    Maar "ontbrekende regels" zou dus ook gewoon een missende debiteur of grootboekrekening kunnen zijn.

    Had je al geprobeerd dit bestand door de validatie in ExactOnline zelf te gooien? Misschien komt die met wat zinnigere meldingen.

  15. #60
    Probeer eens om Fiddler te downloaden. Is een ideale debugtool om uit te zoeken hoe dit soort API's werken.

Page 4 of 5 FirstFirst ... 2 3 4 5 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •