SEPA NL: aanleveren van DD bestanden voor elke sequence type

lvanvugtlvanvugt Member Posts: 774
edited 2014-07-08 in NAV Dutch speaking only
Ben momenteel bezig SEPA NL oplossing om te bouwen, zodat bij het exporteren voor elke sequence type een apart bestand wordt gemaakt. Dit aangezien de banken geen bestanden accepteren met verschillende sequence types in één bestand.
Enfin, vroeg me af of ik het wiel opnieuw zit uit te vinden.
Wie is hier al mee bezig geweest en heeft tips of meer te delen?
Luc van Vugt, fluxxus.nl
Never stop learning
Van Vugt's dynamiXs
Dutch Dynamics Community

Comments

  • mdPartnerNLmdPartnerNL Member Posts: 801
    ik heb over sepa en de sequence al iets gelezen hier. Even zoeken..
  • lvanvugtlvanvugt Member Posts: 774
    edited 2013-12-28
    ik heb over sepa en de sequence al iets gelezen hier. Even zoeken..
    Gevonden?

    Ondertussen ben ik al gaan bouwen en heb het als volgt opgelost:

    * In het betaal voorstelvenster (telebankieren) laat ik gewoon de voorstelregels aanmaken
    * bij het verwerken van deze regels (COD11000000 - Process Proposal Lines) zorg ik dat eerst alle regels verwerkt worden in een temporary table (Payment History Line), zodat het Sequence Type bepaald wordt
    * daarna worden al deze tijdelijke Payment History Line records weer doorlopen en een voor een weggeschreven naar de database, tevens wordt voor records met zelfde Sequence Type een kop aan gemaakt (Payment History)

    Resultaat

    * alle voorstel regels worden bij het verwerken gescheiden in betaalruns met hetzelfde Sequence Type
    * export gaat op basis van betaalruns, zoals we dat al gewend waren en levert dus per betaalrun (en dus met één Sequence Type) een bestand op
    Luc van Vugt, fluxxus.nl
    Never stop learning
    Van Vugt's dynamiXs
    Dutch Dynamics Community
  • mdPartnerNLmdPartnerNL Member Posts: 801
    Dus dit moeten we als partner zelf gaan maken? Dus het enige wat de sepa update inhoud is een extra veldje en een export programma wat jij dus nu aan het aanpassen bent.

    Ps.
    viewtopic.php?f=22&t=58478 hier nog iemand die het loopt aan te passen zodat de klant wel tevreden is...
  • tinoruijstinoruijs Member Posts: 1,226
    Dus dit moeten we als partner zelf gaan maken? Dus het enige wat de sepa update inhoud is een extra veldje en een export programma wat jij dus nu aan het aanpassen bent.

    Wat een drama-project dit SEPA.. ](*,)

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • lvanvugtlvanvugt Member Posts: 774
    Code getest en goed bevonden. Dus hieronder de aanpassing die ik gedaan heb in COD11000000 (Process Proposal Lines) en TAB110000001 (Payment History)

    TAB110000001 (Payment History)
    * Veld 50000 (Sequence Type) toegevoegd à la hetzelfde veld 50 (Sequence Type) in TAB11000001 (Payment History Line)
    * Tevens 1e SK uitgebreid et dit veld: Our Bank,Export Protocol,Status,User ID,Sequence Type

    COD11000000 (Process Proposal Lines)
    Alle aanpassingen zijn gemarkeerd met FLXXS
    OBJECT Codeunit 11000000 Process Proposal Lines
    {
      OBJECT-PROPERTIES
      {
        Date=19-12-13;
        Time=12:00:00;
        Version List=NAVNL6.00.01,TFS348943;
      }
      PROPERTIES
      {
        TableNo=11000000;
        OnRun=BEGIN
                CLEARALL;
                Prop:=Rec;
                Prop.COPYFILTERS(Rec);
                Prop.SETCURRENTKEY("Our Bank No.",Process);
                Prop.SETRANGE(Process,TRUE)
              END;
    
      }
      CODE
      {
        VAR
          [email protected] : TextConst 'ENU=There is nothing to check.;NLD=Er is niets te controleren.';
          [email protected] : TextConst 'ENU=%1 %4 have been checked\;NLD=Er zijn %1 %4 gecontroleerd\';
          [email protected] : TextConst 'ENU=This contains:\\;NLD=Daarin zijn:\\';
          [email protected] : TextConst 'ENU="  %2 error(s) \";NLD="  %2 fout(en) \"';
          [email protected] : TextConst 'ENU="  %3 warning(s)";NLD="  %3 waarschuwing(en) gevonden"';
          [email protected] : TextConst 'ENU=Process proposal lines?;NLD=Voorstelregels verwerken?';
          [email protected] : TextConst 'ENU=Output cancelled.;NLD=Output geannuleerd.';
          [email protected] : TextConst 'ENU=There is nothing to process.;NLD=Er is niets te verwerken.';
          [email protected] : TextConst 'ENU=The proposal lines were processed.;NLD=De voorstelregels zijn verwerkt.';
          [email protected] : TextConst 'ENU=There are %3 lines processed and %2 lines not processed of %1 lines.;NLD=Er zijn %3 regel verwerkt en %2 regels van de %1 regels niet verwerkt.';
          [email protected] : TextConst 'ENU=%1 is not filled out correctly.;NLD=%1 is niet correct ingevuld.';
          Text100[email protected] : TextConst 'ENU=No %1 entered in %2.;NLD=Er is geen %1 ingevuld in %2.';
          [email protected] : TextConst 'ENU=%1 is not stated correctly %2.;NLD=%1 is niet correct opgegeven %2.';
          [email protected] : TextConst 'ENU=%1 in number series must be switched on in number serie %2.;NLD=%1 in nummerreeksen moet aan staan in nummerreeks %2.';
          [email protected] : TextConst 'ENU=%1 %2 must not be in the past.;NLD=%1 %2 mag niet in het verleden liggen.';
          [email protected] : TextConst 'ENU=%1 must not be zero.;NLD=%1 mag niet nul zijn.';
          [email protected] : TextConst 'ENU="%1 must be negative when %2=%3.";NLD="%1 moet negatief zijn wanneer %2=%3."';
          [email protected] : TextConst 'ENU="%1 must be positive when %2=%3.";NLD="%1 moet positief zijn wanneer %2=%3."';
          [email protected] : TextConst 'ENU=%1 is not filled out.;NLD=%1 is niet ingevuld.';
          [email protected] : TextConst 'ENU=%1 is already in use, modify %1.;NLD=%1 wordt reeds gebruikt, wijzig %1.';
          [email protected] : TextConst 'ENU=%1 is already used more than once in the proposal.;NLD=%1 is reeds meer dan 1 keer in het voorstel gebruikt';
          [email protected] : TextConst 'ENU=Credit limit for bank %1 will be exceeded.;NLD=Kredietlimiet voor bank %1 zal overschreden worden.';
          [email protected] : TextConst 'ENU=The %2 from bank %1 has not been entered.;NLD=Het %2 van bank %1 is niet ingevuld.';
          [email protected] : TextConst 'ENU=%1 of %2 has not been entered correctly.;NLD=%1 van %2 is niet correct ingevuld.';
          [email protected] : TextConst 'ENU=%1 is not found in table %2.;NLD=%1 komt niet voor in tabel %2.';
          [email protected] : TextConst 'ENU=%1 %2 has open credit memo''s.;NLD=%1 %2 heeft openstaande creditnota''s.';
          [email protected] : TextConst 'ENU=%1 %2 has not been entered correctly.;NLD=%1 %2 is niet correct ingevuld.';
          [email protected] : TextConst 'ENU=%1 is not entered.;NLD=%1 is niet ingevoerd.';
          [email protected] : TextConst 'ENU=%1 is filled in, but %2 is 0.;NLD=%1 is ingevuld, maar %2 is 0.';
          [email protected] : TextConst 'ENU=%1 must not be zero in detail line for %2 %3.;NLD=%1 mag niet nul zijn in detailregel voor %2 %3.';
          [email protected] : TextConst 'ENU=No Check ID entered in %1 %2.;NLD=Er is geen controle-id ingevuld in %1 %2.';
          [email protected] : TextConst 'ENU=PG0123456789;NLD=PG0123456789';
          [email protected] : TextConst 'ENU=P;NLD=P';
          [email protected] : TextConst 'ENU=G;NLD=G';
          [email protected] : TextConst 'ENU=PG;NLD=PG';
          [email protected] : Record 11000000;
          [email protected] : Record 11000001;
          [email protected] : TEMPORARY Record 11000002;
          [email protected] : TEMPORARY Record 356;
          [email protected] : Integer;
          [email protected] : Integer;
          [email protected] : Text[125];
          [email protected] : Text[125];
          [email protected] : Integer;
          [email protected] : Codeunit 11000001;
          [email protected] : TEMPORARY Record 81;
          [email protected] : Codeunit 11400;
          [email protected] : Text[30];
          [email protected] : TEMPORARY Record 356;
          [email protected] : TextConst 'ENU=%1 must not be zero in %2.;NLD=%1 moet geen nul zijn in %2.';
    
        PROCEDURE [email protected]();
        BEGIN
          ErrorNumber:=0;
          NumberPosted:=0;
          WarningNumber:=0;
    
          IF Prop.FIND('-') THEN
            REPEAT
              NumberPosted:=NumberPosted+1;
              IF NOT CheckAProposalLine(Prop) THEN
                ErrorNumber:=ErrorNumber+1;
              IF Warningstext<>'' THEN
                WarningNumber:=WarningNumber+1;
              IF (Errortext<>Prop."Error Message") OR
                 (Warningstext<>Prop.Warning)
              THEN BEGIN
                Prop."Error Message":=Errortext;
                Prop.Warning:=Warningstext;
                Prop.MODIFY;
              END;
            UNTIL Prop.NEXT=0;
    
          IF NumberPosted=0 THEN
            MESSAGE(Text1000000)
          ELSE
            MESSAGE(Text1000001+Text1000002+Text1000003+Text1000004, NumberPosted,ErrorNumber,WarningNumber,Prop.TABLECAPTION);
        END;
    
        PROCEDURE [email protected]();
        BEGIN
          IF NOT CONFIRM(Text1000005,FALSE) THEN
            ERROR(Text1000006);
    
          ErrorNumber:=0;
          NumberPosted:=0;
          GenJnlLine.DELETEALL;
    
          IF Prop.FIND('-') THEN BEGIN
            REPEAT
              NumberPosted:=NumberPosted+1;
              IF CheckAProposalLine(Prop) THEN BEGIN
                //FLXXS-BEGIN
                //IF NOT PaymentHistoryPresent(Prop,PaymHist) THEN
                //  CreatePaymentHistory(Prop,PaymHist);
                //CreatePaymentHistoryLine(Prop,PaymHist);
                //DeleteProposallines(Prop);
                CreatePaymentHistoryLine2(Prop,TempPaymHistLine);
                //FLXXS-END
              END ELSE BEGIN
                IF (Errortext<>Prop."Error Message") OR
                   (Warningstext<>Prop.Warning)
                THEN BEGIN
                  Prop."Error Message":=Errortext;
                  Prop.Warning:=Warningstext;
                  Prop.MODIFY;
                END;
                ErrorNumber:=ErrorNumber+1;
              END
            UNTIL Prop.NEXT=0;
            //FLXXS-BEGIN
            IF TempPaymHistLine.FINDSET THEN
              REPEAT
                IF NOT PaymentHistoryPresent2(TempPaymHistLine,PaymHist) THEN
                  CreatePaymentHistory2(TempPaymHistLine,PaymHist);
                InsertPaymentHistoryLine2(TempPaymHistLine,PaymHist);
              UNTIL TempPaymHistLine.NEXT = 0;
            TempPaymHistLine.DELETEALL;
            DeleteProposalLines(Prop);
            //FLXXS-END
    
            TelebankFinancialConnection.PostFDBR(GenJnlLine,TempJournalLineDimension);
            GenJnlLine.DELETEALL;
          END;
    
          IF NumberPosted=0 THEN
            MESSAGE(Text1000007)
          ELSE
            CASE ErrorNumber OF
              0: MESSAGE(Text1000008);
              1: MESSAGE(Text1000009,NumberPosted,ErrorNumber,NumberPosted-ErrorNumber);
              ELSE
                 MESSAGE(Text1000009,NumberPosted,ErrorNumber,NumberPosted-ErrorNumber);
            END;
        END;
    
        PROCEDURE [email protected]([email protected] : Record 11000000) [email protected] : Boolean;
        VAR
          [email protected] : Record 11000004;
          [email protected] : Record 11000005;
          [email protected] : Record 18;
          [email protected] : Record 23;
          [email protected] : Record 287;
          [email protected] : Record 288;
          [email protected] : Record 270;
          [email protected] : Record 308;
          [email protected] : Record 21;
          [email protected] : Record 25;
          "Detail line"@1000012 : Record 11000003;
          [email protected] : Record 11000002;
          [email protected] : Record 11000000;
        BEGIN
          Errortext:='';
          Warningstext:='';
    
          ////////////////////////////////////////////////////////////////////////
          // General information
    
          IF NOT TranMode.GET(CheckRecord."Account Type",CheckRecord."Transaction Mode") THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000010,CheckRecord.FIELDCAPTION("Transaction Mode"));
            EXIT(FALSE);
          END;
    
          IF NOT ExportProtocol.GET(TranMode."Export Protocol") THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000011, TranMode.FIELDCAPTION("Export Protocol"), TranMode.TABLECAPTION);
            EXIT(FALSE);
          END;
    
          IF NOT NoSeries.GET(TranMode."Run No. Series") THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000012,
                       TranMode.FIELDCAPTION("Run No. Series"),TranMode.TABLECAPTION);
            EXIT(FALSE);
          END;
    
          IF NOT NoSeries."Default Nos." THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000013,
              NoSeries.FIELDCAPTION("Default Nos."),NoSeries.Code);
            EXIT(FALSE);
          END;
    
          IF CheckRecord."Transaction Date"<TODAY THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000014,
                             CheckRecord.FIELDCAPTION(CheckRecord."Transaction Date"),
                             CheckRecord."Transaction Date");
            EXIT(FALSE);
          END;
          IF CheckRecord.Amount=0 THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000015,CheckRecord.FIELDCAPTION(Amount));
            EXIT(FALSE);
          END;
    
    
          CASE CheckRecord.Order OF
            CheckRecord.Order::Credit:
              IF CheckRecord.Amount>0 THEN BEGIN
                Errortext:=
                  STRSUBSTNO(Text1000016,CheckRecord.FIELDCAPTION(Amount),
                    CheckRecord.FIELDCAPTION("Transaction Mode"),CheckRecord."Transaction Mode");
                EXIT(FALSE);
              END;
            CheckRecord.Order::Debit:
              IF CheckRecord.Amount<0 THEN BEGIN
                Errortext:=
                  STRSUBSTNO(Text1000017,CheckRecord.FIELDCAPTION(Amount),
                    CheckRecord.FIELDCAPTION("Transaction Mode"),CheckRecord."Transaction Mode");
                EXIT(FALSE);
              END;
          END;
    
          ////////////////////////////////////////////////////////////////////////
          // identification
    
          IF CheckRecord.Identification='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000018,
                             CheckRecord.FIELDCAPTION(Identification));
            EXIT(FALSE);
          END;
    
          PaymentHistLine.SETCURRENTKEY("Our Bank",Identification,Status);
          PaymentHistLine.SETRANGE("Our Bank",CheckRecord."Our Bank No.");
          PaymentHistLine.SETRANGE(Identification,CheckRecord.Identification);
          PaymentHistLine.SETFILTER(Status,'<>%1&<>%2&<>%3',
              PaymentHistLine.Status::Posted,
              PaymentHistLine.Status::Cancelled,
              PaymentHistLine.Status::Rejected);
          IF PaymentHistLine.FIND('-') THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000019,
                                CheckRecord.FIELDCAPTION(Identification));
            EXIT(FALSE);
          END;
          Propline.SETCURRENTKEY("Our Bank No.",Identification);
          Propline.SETRANGE("Our Bank No.",CheckRecord."Our Bank No.");
          Propline.SETRANGE(Identification,CheckRecord.Identification);
          Propline.SETFILTER(Propline."Line No.",'<>%1',CheckRecord."Line No.");
          IF Propline.FIND('-') THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000020,
                                CheckRecord.FIELDCAPTION(Identification));
            EXIT(FALSE);
          END;
    
    
    
          ////////////////////////////////////////////////////////////////////////
          // Own account
    
          IF NOT OurBnk.GET(CheckRecord."Our Bank No.") THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000010,CheckRecord.FIELDCAPTION(CheckRecord."Our Bank No."));
            EXIT(FALSE);
          END;
    
          IF OurBnk."Credit limit" < 0 THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000021, CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Bank Account No."='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000022,
                             CheckRecord."Our Bank No.",OurBnk.FIELDCAPTION("Bank Account No."));
            EXIT(FALSE);
          END;
    
          IF NOT LocalFuncMgt.CheckBankAccNo(OurBnk."Bank Account No.",OurBnk."Country/Region Code",AccountNo) THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
            OurBnk.FIELDCAPTION("Bank Account No."),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Account Holder Name"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
                       OurBnk.FIELDCAPTION("Account Holder Name"),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Account Holder Address"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
                       OurBnk.FIELDCAPTION("Account Holder Address"),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Account Holder Post Code"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
                       OurBnk.FIELDCAPTION("Account Holder Post Code"),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Account Holder City"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
                       OurBnk.FIELDCAPTION("Account Holder City"),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
    
          ////////////////////////////////////////////////////////////////////////
          // Customer and Vendor
    
          CASE CheckRecord."Account Type" OF
            CheckRecord."Account Type"::Customer:
              BEGIN
                IF NOT CustomerAcc.GET(CheckRecord."Account No.") THEN BEGIN
                  Errortext:=STRSUBSTNO(Text1000024,CheckRecord.FIELDCAPTION(CheckRecord."Account No."),CustomerAcc.TABLECAPTION);
                  EXIT(FALSE);
                END;
                CustEntries.SETCURRENTKEY("Document Type","Customer No.");
                CustEntries.SETRANGE("Customer No.",CheckRecord."Account No.");
                CustEntries.SETRANGE("Document Type",CustEntries."Document Type"::"Credit Memo");
                CustEntries.SETRANGE(Open,TRUE);
                IF CustEntries.FIND('-') THEN
                  Warningstext:=STRSUBSTNO(Text1000025,
                                      CustomerAcc.TABLECAPTION,CheckRecord."Account No.");
              END;
            CheckRecord."Account Type"::Vendor:
              BEGIN
                IF NOT VenAcc.GET(CheckRecord."Account No.") THEN BEGIN
                  Errortext:=STRSUBSTNO(Text1000024, CheckRecord.FIELDCAPTION(CheckRecord."Account No."),VenAcc.TABLECAPTION);
                  EXIT(FALSE);
                END;
                VendEntries.SETCURRENTKEY("Document Type","Vendor No.");
                VendEntries.SETRANGE("Vendor No.",CheckRecord."Account No.");
                VendEntries.SETRANGE("Document Type",VendEntries."Document Type"::"Credit Memo");
                VendEntries.SETRANGE(Open,TRUE);
                IF VendEntries.FIND('-') THEN
                  Warningstext:=STRSUBSTNO(Text1000025,
                                      VenAcc.TABLECAPTION,CheckRecord."Account No.");
              END;
          END;
    
          IF NOT LocalFuncMgt.CheckBankAccNo(CheckRecord."Bank Account No.",CheckRecord."Bank Country/Region Code",AccountNo) THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000026,CheckRecord.FIELDCAPTION(CheckRecord."Bank Account No."),CheckRecord."Bank Account No.");
            EXIT(FALSE);
          END;
    
          IF CheckRecord."Account Holder Name"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000027,
                       CheckRecord.FIELDCAPTION(CheckRecord."Account Holder Name"));
            EXIT(FALSE);
          END;
    
          IF CheckRecord."Account Holder City"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000027,
                       CheckRecord.FIELDCAPTION(CheckRecord."Account Holder City"));
            EXIT(FALSE);
          END;
    
          IF (CheckRecord."Foreign Currency" <> '') AND
             (CheckRecord."Foreign Amount" = 0)
          THEN BEGIN
            Errortext :=
              STRSUBSTNO(
                Text1000028,CheckRecord.FIELDCAPTION(CheckRecord."Foreign Currency"), CheckRecord.FIELDCAPTION(CheckRecord."Foreign Amount")
          );
            EXIT(FALSE);
          END;
    
          ///////////////////////////////////////////////////////////////////////
          // Per detail line
    
          "Detail line".SETCURRENTKEY("Our Bank",Status,"Connect Batches","Connect Lines");
          "Detail line".SETRANGE("Our Bank",CheckRecord."Our Bank No.");
          "Detail line".SETRANGE(Status,"Detail line".Status::Proposal);
          "Detail line".SETRANGE("Detail line"."Connect Batches",'');
          "Detail line".SETRANGE("Detail line"."Connect Lines",CheckRecord."Line No.");
          IF "Detail line".FIND('-') THEN
            REPEAT
              IF "Detail line".Amount=0 THEN BEGIN
                Errortext:=
                  STRSUBSTNO(
                    Text1000029,
                    "Detail line".FIELDCAPTION(Amount),
                    "Detail line".FIELDCAPTION("Serial No. (Entry)"),
                    "Detail line"."Serial No. (Entry)");
                EXIT(FALSE);
              END;
              IF "Detail line"."Serial No. (Entry)"=0 THEN BEGIN
                Errortext:=
                  STRSUBSTNO(
                    Text1000035,
                    "Detail line".FIELDCAPTION("Serial No. (Entry)"),
                    "Detail line".TABLECAPTION);
                EXIT(FALSE);
              END;
            UNTIL "Detail line".NEXT=0;
    
          ////////////////////////////////////////////////////////////////////////
          // Protocol specific
    
          IF ExportProtocol."Check ID"<>0 THEN BEGIN
            CheckRecord."Error Message":='';
            CheckRecord.Warning:='';
            CODEUNIT.RUN(ExportProtocol."Check ID",CheckRecord);
            IF CheckRecord.Warning<>'' THEN
              Warningstext:=CheckRecord.Warning;
            IF CheckRecord."Error Message"<>'' THEN BEGIN
              Errortext:=CheckRecord."Error Message";
              EXIT(FALSE)
            END;
          END ELSE BEGIN
            Errortext:= STRSUBSTNO(Text1000030,ExportProtocol.TABLECAPTION,ExportProtocol.Code);
            EXIT(FALSE);
          END;
    
          EXIT(TRUE);
        END;
    
        PROCEDURE [email protected](VAR [email protected] : Record 11000000;VAR [email protected] : Record 11000001) [email protected] : Boolean;
        VAR
          [email protected] : Record 11000004;
        BEGIN
          TranMode.GET(Prop."Account Type",Prop."Transaction Mode");
    
          PaymHist.SETCURRENTKEY("Our Bank","Export Protocol",Status,"User ID");
          PaymHist.SETRANGE("Our Bank",Prop."Our Bank No.");
          PaymHist.SETRANGE("Export Protocol",TranMode."Export Protocol");
          PaymHist.SETRANGE(Status,PaymHist.Status::New);
          PaymHist.SETRANGE("User ID",USERID);
    
          EXIT(PaymHist.FIND('-'));
        END;
    
        PROCEDURE [email protected]([email protected] : Record 11000002;VAR [email protected] : Record 11000001) [email protected] : Boolean;
        VAR
          [email protected] : Record 11000004;
        BEGIN
          //FLXXS-BEGIN
          TranMode.GET(PaymHistLine."Account Type",PaymHistLine."Transaction Mode");
    
          PaymHist.SETCURRENTKEY("Our Bank","Export Protocol",Status,"User ID");
          PaymHist.SETRANGE("Our Bank",PaymHistLine."Our Bank");
          PaymHist.SETRANGE("Export Protocol",TranMode."Export Protocol");
          PaymHist.SETRANGE(Status,PaymHist.Status::New);
          PaymHist.SETRANGE("User ID",USERID);
          PaymHist.SETRANGE("Sequence Type",PaymHistLine."Sequence Type");
    
          EXIT(PaymHist.FIND('-'));
          //FLXXS-END
        END;
    
        PROCEDURE [email protected](VAR [email protected] : Record 11000000;VAR [email protected] : Record 11000001);
        VAR
          [email protected] : Record 11000004;
          [email protected] : Record 270;
          [email protected] : Record 356;
          [email protected] : Record 356;
          [email protected] : Codeunit 396;
          [email protected] : Codeunit 408;
          [email protected] : Record 98;
        BEGIN
          CLEAR(PaymHist);
          TranMode.GET(Prop."Account Type",Prop."Transaction Mode");
          TranMode.TESTFIELD("Run No. Series");
    
          PaymHist."Our Bank":=Prop."Our Bank No.";
          NoSeriesManagement.InitSeries(TranMode."Run No. Series",'',TODAY,PaymHist."Run No.",PaymHist."No. Series");
          PaymHist.INIT;
    
          PaymHist.Status:=PaymHist.Status::New;
          PaymHist."Creation Date":=TODAY;
          PaymHist."User ID":=USERID;
    
          TranMode.GET(Prop."Account Type",Prop."Transaction Mode");
          PaymHist."Export Protocol":=TranMode."Export Protocol";
    
          OurBnk.GET(Prop."Our Bank No.");
    
          PaymHist."Account No.":=OurBnk."Bank Account No.";
          PaymHist."Account Holder Name":=OurBnk."Account Holder Name";
          PaymHist."Account Holder Address":=OurBnk."Account Holder Address";
          PaymHist."Account Holder Post Code":=OurBnk."Account Holder Post Code";
          PaymHist."Account Holder City":=OurBnk."Account Holder City";
          PaymHist."Acc. Hold. Country/Region Code":=OurBnk."Acc. Hold. Country/Region Code";
    
          FromJnlDim.SETRANGE("Table ID", DATABASE::"Proposal Line");
          FromJnlDim.SETRANGE("Journal Template Name", Prop."Our Bank No.");
          FromJnlDim.SETRANGE("Journal Line No.", 0);
    
          ToJnlDim."Table ID" := DATABASE::"Payment History";
          ToJnlDim."Journal Template Name" := PaymHist."Our Bank";
          ToJnlDim."Journal Batch Name" := PaymHist."Run No.";
          ToJnlDim."Journal Line No." := 0;
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(FromJnlDim, ToJnlDim);
          GeneralLedgerSetup.GET;
    
          IF ToJnlDim.GET(DATABASE::"Payment History",
                          PaymHist."Our Bank",
                          PaymHist."Run No.",
                          0,0,
                          GeneralLedgerSetup."Global Dimension 1 Code",0) THEN
            PaymHist."Global Dimension 1 Code" := ToJnlDim."Dimension Value Code";
    
          IF ToJnlDim.GET(DATABASE::"Payment History",
                          PaymHist."Our Bank",
                          PaymHist."Run No.",
                          0,0,
                          GeneralLedgerSetup."Global Dimension 2 Code",0) THEN
            PaymHist."Global Dimension 2 Code" := ToJnlDim."Dimension Value Code";
          PaymHist.INSERT(TRUE);
        END;
    
        PROCEDURE [email protected]([email protected] : Record 11000002;VAR [email protected] : Record 11000001);
        VAR
          [email protected] : Record 11000004;
          [email protected] : Record 270;
          [email protected] : Record 356;
          [email protected] : Record 356;
          [email protected] : Codeunit 396;
          [email protected] : Codeunit 408;
          [email protected] : Record 98;
        BEGIN
          //FLXXS-BEGIN
          CLEAR(PaymHist);
          TranMode.GET(PaymHistLine."Account Type",PaymHistLine."Transaction Mode");
          TranMode.TESTFIELD("Run No. Series");
    
          PaymHist."Our Bank" := PaymHistLine."Our Bank";
          NoSeriesManagement.InitSeries(TranMode."Run No. Series",'',TODAY,PaymHist."Run No.",PaymHist."No. Series");
          PaymHist.INIT;
    
          PaymHist.Status := PaymHist.Status::New;
          PaymHist."Creation Date" := TODAY;
          PaymHist."User ID" := USERID;
    
          TranMode.GET(Prop."Account Type",PaymHistLine."Transaction Mode");
          PaymHist."Export Protocol" := TranMode."Export Protocol";
    
          OurBank.GET(PaymHistLine."Our Bank");
    
          PaymHist."Account No." := OurBank."Bank Account No.";
          PaymHist."Account Holder Name" := OurBank."Account Holder Name";
          PaymHist."Account Holder Address" := OurBank."Account Holder Address";
          PaymHist."Account Holder Post Code" := OurBank."Account Holder Post Code";
          PaymHist."Account Holder City" := OurBank."Account Holder City";
          PaymHist."Acc. Hold. Country/Region Code" := OurBank."Acc. Hold. Country/Region Code";
    
          FromJnlDim.SETRANGE("Table ID", DATABASE::"Proposal Line");
          FromJnlDim.SETRANGE("Journal Template Name", PaymHistLine."Our Bank");
          FromJnlDim.SETRANGE("Journal Line No.", 0);
    
          ToJnlDim."Table ID" := DATABASE::"Payment History";
          ToJnlDim."Journal Template Name" := PaymHist."Our Bank";
          ToJnlDim."Journal Batch Name" := PaymHist."Run No.";
          ToJnlDim."Journal Line No." := 0;
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(FromJnlDim, ToJnlDim);
          GeneralLedgerSetup.GET;
    
          IF ToJnlDim.GET(DATABASE::"Payment History",
                          PaymHist."Our Bank",
                          PaymHist."Run No.",
                          0,0,
                          GeneralLedgerSetup."Global Dimension 1 Code",0) THEN
            PaymHist."Global Dimension 1 Code" := ToJnlDim."Dimension Value Code";
    
          IF ToJnlDim.GET(DATABASE::"Payment History",
                          PaymHist."Our Bank",
                          PaymHist."Run No.",
                          0,0,
                          GeneralLedgerSetup."Global Dimension 2 Code",0) THEN
            PaymHist."Global Dimension 2 Code" := ToJnlDim."Dimension Value Code";
    
          PaymHist."Sequence Type" := PaymHistLine."Sequence Type";
    
          PaymHist.INSERT(TRUE);
          //FLXXS-END
        END;
    
        PROCEDURE [email protected](VAR [email protected] : Record 11000000;VAR [email protected] : Record 11000001);
        VAR
          [email protected] : Record 11000002;
          "Detail line"@1000003 : Record 11000003;
          [email protected] : Record 356;
          [email protected] : Record 356;
          [email protected] : Codeunit 408;
        BEGIN
          PaymHist."No. of Transactions":=PaymHist."No. of Transactions"+1;
          IF Propline.Docket THEN
            PaymHist."Print Docket":=TRUE;
          PaymHist.MODIFY(TRUE);
    
          PaymentHistLine."Our Bank":=PaymHist."Our Bank";
          PaymentHistLine."Run No.":=PaymHist."Run No.";
          PaymentHistLine."Line No.":=PaymHist."No. of Transactions";
          PaymentHistLine.Status:=PaymentHistLine.Status::New;
    
          PaymentHistLine."Account Type":=Propline."Account Type";
          PaymentHistLine."Account No.":=Propline."Account No.";
          PaymentHistLine.Date:=Propline."Transaction Date";
          PaymentHistLine.Amount:=Propline.Amount;
          PaymentHistLine.Bank:=Propline.Bank;
          PaymentHistLine."Bank Account No.":=Propline."Bank Account No.";
    
          PaymentHistLine."Description 1":=Propline."Description 1";
          PaymentHistLine."Description 2":=Propline."Description 2";
          PaymentHistLine."Description 3":=Propline."Description 3";
          PaymentHistLine."Description 4":=Propline."Description 4";
          PaymentHistLine.Identification:=Propline.Identification;
    
          PaymentHistLine."Account Holder Name":=Propline."Account Holder Name";
          PaymentHistLine."Account Holder Address":=Propline."Account Holder Address";
          PaymentHistLine."Account Holder Post Code":=Propline."Account Holder Post Code";
          PaymentHistLine."Account Holder City":=Propline."Account Holder City";
          PaymentHistLine."Acc. Hold. Country/Region Code":=Propline."Acc. Hold. Country/Region Code";
          PaymentHistLine."National Bank Code":=Propline."National Bank Code";
          PaymentHistLine."SWIFT Code":=Propline."SWIFT Code";
          PaymentHistLine.IBAN := Propline.IBAN;
          PaymentHistLine."Direct Debit Mandate ID" := Propline."Direct Debit Mandate ID";
          PaymentHistLine."Abbrev. National Bank Code" := Propline."Abbrev. National Bank Code";
          PaymentHistLine."Bank Name":=Propline."Bank Name";
          PaymentHistLine."Bank Address":=Propline."Bank Address";
          PaymentHistLine."Bank City":=Propline."Bank City";
          PaymentHistLine."Bank Country/Region":=Propline."Bank Country/Region Code";
          PaymentHistLine."Transfer Cost Domestic":=Propline."Transfer Cost Domestic";
          PaymentHistLine."Transfer Cost Foreign":=Propline."Transfer Cost Foreign";
    
          PaymentHistLine."Currency Code":=Propline."Currency Code";
          PaymentHistLine.Order:=Propline.Order;
          PaymentHistLine."Transaction Mode":=Propline."Transaction Mode";
          PaymentHistLine.Docket:=Propline.Docket;
    
          PaymentHistLine."Nature of the Payment":=Propline."Nature of the Payment";
          PaymentHistLine."Registration No. DNB":=Propline."Registration No. DNB";
          PaymentHistLine."Description Payment":=Propline."Description Payment";
          PaymentHistLine."Item No.":=Propline."Item No.";
          PaymentHistLine."Traders No.":=Propline."Traders No.";
          PaymentHistLine.Urgent:=Propline.Urgent;
    
          IF ((PaymentHistLine.Order=PaymentHistLine.Order::Credit) AND
              (PaymentHistLine."Account Type"=PaymentHistLine."Account Type"::Vendor)) OR
             ((PaymentHistLine.Order=PaymentHistLine.Order::Credit)  AND
              (PaymentHistLine."Account Type"=PaymentHistLine."Account Type"::Customer))
          THEN
            PaymentHistLine."Payment/Receipt":=PaymentHistLine."Payment/Receipt"::Receipt
          ELSE
            PaymentHistLine."Payment/Receipt":=PaymentHistLine."Payment/Receipt"::Payment;
    
          PaymentHistLine."Foreign Currency" := Propline."Foreign Currency";
          PaymentHistLine."Foreign Amount" := Propline."Foreign Amount";
    
          FromJnlDim.SETRANGE("Table ID", DATABASE::"Proposal Line");
          FromJnlDim.SETRANGE("Journal Template Name", Propline."Our Bank No.");
          FromJnlDim.SETRANGE("Journal Line No.", Propline."Line No.");
    
          ToJnlDim."Table ID" := DATABASE::"Payment History Line";
          ToJnlDim."Journal Template Name" := PaymHist."Our Bank";
          ToJnlDim."Journal Batch Name" := PaymHist."Run No.";
          ToJnlDim."Journal Line No." := PaymentHistLine."Line No.";
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(FromJnlDim, ToJnlDim);
    
          PaymentHistLine."Global Dimension 1 Code" := Propline."Shortcut Dimension 1 Code";
          PaymentHistLine."Global Dimension 2 Code" := Propline."Shortcut Dimension 2 Code";
    
          IF ((PaymentHistLine.Order = PaymentHistLine.Order::Credit) AND
              (PaymentHistLine."Account Type" = PaymentHistLine."Account Type"::Customer))
          THEN
            UpdateDirectDebitMandate(PaymentHistLine);
    
          PaymentHistLine.INSERT(TRUE);
    
          "Detail line".SETCURRENTKEY("Our Bank",Status,"Connect Batches","Connect Lines");
          "Detail line".SETRANGE("Our Bank",Propline."Our Bank No.");
          "Detail line".SETRANGE(Status,"Detail line".Status::Proposal);
          "Detail line".SETRANGE("Connect Batches",'');
          "Detail line".SETRANGE("Connect Lines",Propline."Line No.");
          WHILE "Detail line".FIND('-') DO BEGIN
            "Detail line".Status:="Detail line".Status::"In process";
            "Detail line"."Connect Batches":=PaymentHistLine."Run No.";
            "Detail line"."Connect Lines":=PaymentHistLine."Line No.";
            "Detail line".MODIFY(TRUE);
          END;
          TelebankFinancialConnection.PostPaymReceived(GenJnlLine,PaymentHistLine,TempJournalLineDimension,PaymHist);
        END;
    
        PROCEDURE [email protected]([email protected] : Record 11000000;VAR [email protected] : Record 11000002);
        VAR
          "Detail line"@1000003 : Record 11000003;
          [email protected] : Record 356;
          [email protected] : Codeunit 408;
        BEGIN
          //FLXXS-BEGIN
          PaymentHistLine."Our Bank" := ProposalLine."Our Bank No.";
          PaymentHistLine."Line No." := ProposalLine."Line No.";
          PaymentHistLine.Status := PaymentHistLine.Status::New;
    
          PaymentHistLine."Account Type" := ProposalLine."Account Type";
          PaymentHistLine."Account No." := ProposalLine."Account No.";
          PaymentHistLine.Date := ProposalLine."Transaction Date";
          PaymentHistLine.Amount := ProposalLine.Amount;
          PaymentHistLine.Bank := ProposalLine.Bank;
          PaymentHistLine."Bank Account No." := ProposalLine."Bank Account No.";
    
          PaymentHistLine."Description 1" := ProposalLine."Description 1";
          PaymentHistLine."Description 2" := ProposalLine."Description 2";
          PaymentHistLine."Description 3" := ProposalLine."Description 3";
          PaymentHistLine."Description 4" := ProposalLine."Description 4";
          PaymentHistLine.Identification := ProposalLine.Identification;
    
          PaymentHistLine."Account Holder Name" := ProposalLine."Account Holder Name";
          PaymentHistLine."Account Holder Address" := ProposalLine."Account Holder Address";
          PaymentHistLine."Account Holder Post Code" := ProposalLine."Account Holder Post Code";
          PaymentHistLine."Account Holder City" := ProposalLine."Account Holder City";
          PaymentHistLine."Acc. Hold. Country/Region Code" := ProposalLine."Acc. Hold. Country/Region Code";
          PaymentHistLine."National Bank Code" := ProposalLine."National Bank Code";
          PaymentHistLine."SWIFT Code" := ProposalLine."SWIFT Code";
          PaymentHistLine.IBAN := ProposalLine.IBAN;
          PaymentHistLine."Direct Debit Mandate ID" := ProposalLine."Direct Debit Mandate ID";
          PaymentHistLine."Abbrev. National Bank Code" := ProposalLine."Abbrev. National Bank Code";
          PaymentHistLine."Bank Name" := ProposalLine."Bank Name";
          PaymentHistLine."Bank Address" := ProposalLine."Bank Address";
          PaymentHistLine."Bank City" := ProposalLine."Bank City";
          PaymentHistLine."Bank Country/Region" := ProposalLine."Bank Country/Region Code";
          PaymentHistLine."Transfer Cost Domestic" := ProposalLine."Transfer Cost Domestic";
          PaymentHistLine."Transfer Cost Foreign" := ProposalLine."Transfer Cost Foreign";
    
          PaymentHistLine."Currency Code" := ProposalLine."Currency Code";
          PaymentHistLine.Order := ProposalLine.Order;
          PaymentHistLine."Transaction Mode" := ProposalLine."Transaction Mode";
          PaymentHistLine.Docket := ProposalLine.Docket;
    
          PaymentHistLine."Nature of the Payment" := ProposalLine."Nature of the Payment";
          PaymentHistLine."Registration No. DNB" := ProposalLine."Registration No. DNB";
          PaymentHistLine."Description Payment" := ProposalLine."Description Payment";
          PaymentHistLine."Item No." := ProposalLine."Item No.";
          PaymentHistLine."Traders No." := ProposalLine."Traders No.";
          PaymentHistLine.Urgent := ProposalLine.Urgent;
    
          IF ((PaymentHistLine.Order=PaymentHistLine.Order::Credit) AND
              (PaymentHistLine."Account Type"=PaymentHistLine."Account Type"::Vendor)) OR
             ((PaymentHistLine.Order=PaymentHistLine.Order::Credit)  AND
              (PaymentHistLine."Account Type"=PaymentHistLine."Account Type"::Customer))
          THEN
            PaymentHistLine."Payment/Receipt" := PaymentHistLine."Payment/Receipt"::Receipt
          ELSE
            PaymentHistLine."Payment/Receipt" := PaymentHistLine."Payment/Receipt"::Payment;
    
          PaymentHistLine."Foreign Currency" := ProposalLine."Foreign Currency";
          PaymentHistLine."Foreign Amount" := ProposalLine."Foreign Amount";
    
          FromJnlDim.SETRANGE("Table ID", DATABASE::"Proposal Line");
          FromJnlDim.SETRANGE("Journal Template Name", ProposalLine."Our Bank No.");
          FromJnlDim.SETRANGE("Journal Line No.", ProposalLine."Line No.");
    
          TempJnlDim."Table ID" := DATABASE::"Payment History Line";
          TempJnlDim."Journal Template Name" := PaymHist."Our Bank";
          TempJnlDim."Journal Batch Name" := PaymHist."Run No.";
          TempJnlDim."Journal Line No." := PaymentHistLine."Line No.";
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(FromJnlDim,TempJnlDim);
    
          PaymentHistLine."Global Dimension 1 Code" := ProposalLine."Shortcut Dimension 1 Code";
          PaymentHistLine."Global Dimension 2 Code" := ProposalLine."Shortcut Dimension 2 Code";
    
          IF ((PaymentHistLine.Order = PaymentHistLine.Order::Credit) AND
              (PaymentHistLine."Account Type" = PaymentHistLine."Account Type"::Customer))
          THEN
            UpdateDirectDebitMandate(PaymentHistLine);
    
          PaymentHistLine.INSERT(TRUE);
          //FLXXS-END
        END;
    
        PROCEDURE [email protected]([email protected] : Record 11000002;VAR [email protected] : Record 11000001);
        VAR
          [email protected] : Record 11000002;
          [email protected] : Record 11000003;
          [email protected] : Record 356;
          [email protected] : Codeunit 408;
        BEGIN
          //FLXXS-BEGIN
          CLEAR(PaymentHistLine);
          PaymentHistLine := PaymHistLine2;
    
          PaymHist."No. of Transactions" := PaymHist."No. of Transactions" + 1;
          IF PaymentHistLine.Docket THEN
            PaymHist."Print Docket":=TRUE;
          PaymHist.MODIFY(TRUE);
    
          PaymentHistLine."Run No." := PaymHist."Run No.";
    
          TempJnlDim.SETRANGE("Table ID", DATABASE::"Payment History Line");
          TempJnlDim.SETRANGE("Journal Template Name", PaymHistLine2."Our Bank");
          TempJnlDim.SETRANGE("Journal Line No.", PaymHistLine2."Line No.");
    
          ToJnlDim."Table ID" := DATABASE::"Payment History Line";
          ToJnlDim."Journal Template Name" := PaymHist."Our Bank";
          ToJnlDim."Journal Batch Name" := PaymHist."Run No.";
          ToJnlDim."Journal Line No." := PaymentHistLine."Line No.";
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(TempJnlDim,ToJnlDim);
    
          PaymentHistLine.INSERT(TRUE);
    
          DetailLine.SETCURRENTKEY("Our Bank",Status,"Connect Batches","Connect Lines");
          DetailLine.SETRANGE("Our Bank",PaymHistLine2."Our Bank");
          DetailLine.SETRANGE(Status,DetailLine.Status::Proposal);
          DetailLine.SETRANGE("Connect Batches",'');
          DetailLine.SETRANGE("Connect Lines",PaymHistLine2."Line No.");
          WHILE DetailLine.FIND('-') DO BEGIN
            DetailLine.Status:=DetailLine.Status::"In process";
            DetailLine."Connect Batches":=PaymentHistLine."Run No.";
            DetailLine."Connect Lines":=PaymentHistLine."Line No.";
            DetailLine.MODIFY(TRUE);
          END;
          TelebankFinancialConnection.PostPaymReceived(GenJnlLine,PaymentHistLine,TempJournalLineDimension,PaymHist);
          //FLXXS-END
        END;
    
        PROCEDURE [email protected](VAR [email protected] : Record 11000000);
        BEGIN
          //FLXXS-BEGIN
          //Prop.DELETE(TRUE);
          ProposalLine.DELETEALL(TRUE);
          //FLXXS-END
        END;
    
        PROCEDURE [email protected]() [email protected] : Text[125];
        BEGIN
          EXIT(Errortext);
        END;
    
        PROCEDURE [email protected]() [email protected] : Text[125];
        BEGIN
          EXIT(Warningstext);
        END;
    
        PROCEDURE [email protected]() [email protected] : Text[30];
        BEGIN
          EXIT(AccountNo);
        END;
    
        LOCAL PROCEDURE [email protected](VAR [email protected] : Record 11000002);
        VAR
          [email protected] : Record 1230;
        BEGIN
          IF DirectDebitMandate.GET(PaymentHistoryLine."Direct Debit Mandate ID") THEN BEGIN
            DirectDebitMandate.VALIDATE("Debit Counter",DirectDebitMandate."Debit Counter" + 1);
            DirectDebitMandate.MODIFY(TRUE);
    
            PaymentHistoryLine.VALIDATE("Direct Debit Mandate Counter",DirectDebitMandate."Debit Counter");
          END;
        END;
    
        BEGIN
        {
          FLXXS 20131119 LVV - Separate Payment History per Sequence Type
        }
        END.
      }
    }
    
    Luc van Vugt, fluxxus.nl
    Never stop learning
    Van Vugt's dynamiXs
    Dutch Dynamics Community
  • marcgernermarcgerner Member Posts: 6
    Goedemorgen,

    Ik heb een klant waarvan de bank inderdaad aangeeft dat het Sequence Type ontbreekt... Jullie hebben het hier over een Sequence Type dat al mee gestuurd wordt, maar dat de bestanden apart moeten worden aangeleverd aan de bank. Nou heb ik gekeken in de hotfix die voor Direct Debit uitgekomen is vanuit MS, maar daar staat het Sequence Type helemaal niet in! Klopt het dat we dat zelf nog in elkaar moeten fietsen? Zo ja, hebben jullie de code toevallig al voor me? Dat scheelt weer wat uitzoekwerk ;-).

    Thanks!
  • tinoruijstinoruijs Member Posts: 1,226
    Je vind Sequence Type in de betaalrunregel-tabel en ook in het rapport "SEPA ISO20022".
    In dat rapport vind je ook PmtMtd DD. Dat is de code die aangeeft dat je met incasso te maken hebt.
    Nog even goed zoeken in de hotfix dus.

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • marcgernermarcgerner Member Posts: 6
    Hoi Tino,

    Thanks voor het antwoord! Ben ik nou zo suf dat ik eroverheen kijk? Voor zover bij mij bekend is alleen deze hotfix voor 2009R2 uitgebracht: https://mbs.microsoft.com/partnersource ... EPANLdebit

    In die hotfix zit geen Sequence Type veld in tabel Payment History Line. Kijk ik eroverheen of gebruik ik de verkeerde hotfix? :oops:

    Marc
  • tinoruijstinoruijs Member Posts: 1,226
    Er staan twee te downloaden bestanden; je hebt "​Netherlands - SEPA Credit Transfer and Direct Debit -
    Payment Grouping Update​" ook nodig.

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • marcgernermarcgerner Member Posts: 6
    Hoi Tino,

    Ik ben dus inderdaad zo suf dat ik eroverheen kijk... Thanks voor je hulp!

    Marc
  • tinoruijstinoruijs Member Posts: 1,226
    Graag gedaan. Ik mag deze maand nog een klant overhelpen naar SEPA incasso, dus ik blijf graag op de hoogte. ;-)

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • souoiksouoik Member Posts: 124
    @tinoruijs hi it is SEPA DD Core Good With you am workingto put this payment method on nav 2017 can you please help me , the SEPA was export from the slipe payment , if you have any adea share with me thank you
Sign In or Register to comment.