FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Adeudos Directos SEPA en euros Esquema B2B
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Tue Oct 29, 2013 05:04 PM

Gracias a Manuel por modificar la funci贸n usando XML. Esto nos ayudar谩 a profundizar en esta clase.
Y tambi茅n gracias a Joaqu铆n por el enlace al programa. S贸lo lo he mirado por encima pero creo que ser谩 suficiente para generar un recibo y mirarle las "tripas" para ver los cambios.

Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Tue Oct 29, 2013 06:07 PM

Manuel,

Respecto a las 贸rdenes de domiciliaci贸n tanto CORE como B2B, si no estoy equivocado la normativa SEPA nos obliga a tener en el documento todos los redactados en el idioma oficial del pais y en ingl茅s.
A ver si alguno de los presentes lo ha entendido como yo.

Supongo que por eso el modelo oficial tiene 2 idiomas.

Gracias,

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Tue Oct 29, 2013 06:41 PM
Carlos, as铆 es. Lo he comprobado en la documentaci贸n del Sabadell y lo dice claro:

"El texto debe aparecer, al menos en una de las lenguas oficiales del pa铆s del deudor, as铆 como en ingl茅s"

As铆 que habr谩 que descartar el modelo modificado y usar el oficial.
Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Wed Oct 30, 2013 07:41 AM
Para arreglar el tema de usar ISO en vez UTF-8 no he encontrado informaci贸n por ning煤n lado . De momento queda resuelto con "un parche" no muy ortodoxo pero al ser en un archivo usado "temporalmente" no tiene una importancia "vital" y cumple su cometido .

Code (fw): Select all Collapse
local oDoc := mxmlNewElement( oXml, "xfdf" )
local oFields , xDato

mxmlElementSetAttr( oXml, "encoding", 'ISO-8859-1' )  // a帽adido mientras se encuentra mejor soluci贸n por compatibilidad .

.......
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Wed Oct 30, 2013 08:05 AM

Hola,

Esto quiz谩s sea de utilidad:

http://www.sepaesp.es/f/websepa/seccion ... anoles.pdf

Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Tue Nov 05, 2013 12:37 PM

Hola,

Aqu铆 hay un conversor online:

http://www.sepaeditor.com/es/Conversion ... A-Xml.html

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producci贸n]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Wed Nov 06, 2013 11:01 PM

Hola a todos,

Tengo una maldita duda sobre como debe ser la identificaci贸n del acreedor en los adeudos directos SEPA.

Por un lado en la p谩gina 3 del cuaderno AEB 19-14 de noviembre-2012, se dice que la identificaci贸n debe ser del tipo:
ES99888AAAAAAAAAAAAA.. (hasta 35 caracteres en total), en donde 888 vendr铆an a ser el sufijo que hasta ahora se est谩 utilizando.

Por otro lado en ese mismo cuaderno Anexo VII p谩gina 67 se indica que las reglas de migraci贸n de adeudos espa帽oles para ese mismo dato establecen que debe ser NIF-SUFIJO:
ES99AAAAAAA888.... (hasta 35 caracteres en total).

Donde meteran ustedes el sufijo en la identificaci贸n de acreedor?

Perdonen la cuesti贸n por no ser propia de FiveWin pero, como el hilo ha dado tanto de si...

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Tue Nov 12, 2013 11:18 PM
FiveWiDi wrote:

Tengo una maldita duda sobre como debe ser la identificaci贸n del acreedor en los adeudos directos SEPA.



La identificaci贸n del acreedor (AT-02) con un m谩ximo de 35 caracteres, debe tener la siguiente estructura:

AA codigo del pais ("ES" para Espa帽a)
DD d铆gito de control (a calcular segun mod-97-10)
SSS sufijo acreedor (normalmente 000)
NNNNNNNNN (nif del acreedor)

y hasta 35 caracteres si quieres a帽adirle algo mas.
Un saludo



Manuel
Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Wed Nov 13, 2013 09:16 AM
mastintin wrote:

聽 聽 聽 聽 聽 聽 if(CC_iban<10){
聽 聽 聽 聽 聽 聽 CC_iban = "0" + CC_iban;
聽 聽 聽 聽 聽 聽 }


Mastintin,

S贸lo te falta incluir el IF que te marc贸 que sucede cuando al calcular el digito de control, tiene solo un d铆gito. Por lo dem谩s, coincide con el c贸digo que uso y que est谩 comprobado, salvo que yo incluyo la variable PAIS, para poder adeudar recibos a otros paises distinto que ESPA脩A.

Tambien son importantes convertir la cadena IBAN a num茅rico, porque sino, al dividir por 97, dar铆a error e incluir los INT, porque en caso contrario, al sumar las cadenas, Harbour incluye el punto decimal y los decimales por defecto.

Code (fw): Select all Collapse
FUNCTION fIban( cPais, cBanco, cSucursal, cDC, cCuenta)
local nIban, cIban, nMod, nContador, cPais2:=''

// comprueba ccc es correcto
IF !CCC (cBanco, cSucursal, cDC, cCuenta)
聽 聽MsgInfo ("CCC incorrecto.")
聽 聽// devuelve cadena vacia por error CCC
聽 聽RETURN ' '
ENDIF聽 聽聽 聽 聽 聽 
聽 聽 
聽 FOR ncontador = 1 TO 2
聽 聽 聽 IF ASC(SUBSTR(cPais, ncontador, 1)) >= 65
聽 聽 聽 聽 聽 聽cPais2 += STR( (ASC(UPPER(SUBSTR(cPais, ncontador, 1)))-55), 2, 0)
聽 聽 聽 聽ELSE
聽 聽 聽 聽 聽 聽 cPais2 += SUBSTR(cPais, ncontador, 1)
聽 聽 聽 ENDIF
聽 NEXT聽 

聽 cIban := cBanco + cSucursal
聽 nMod := INT ( VAL(cIban) % 97)
聽 cIban := LTRIM(STR(nMod,3,0))+cDC+SUBS(cCuenta,1,2)
聽 nMod := INT ( VAL(cIban) % 97)
聽 cIban := LTRIM(STR(nMod,3,0))+SUBS(cCuenta,3) + cPais2 + "00"
聽 nMod := INT ( VAL(cIban) % 97 )
聽 nIban := INT ( 98 - ( VAL(cIban) % 97) )

聽 return cPais + STRZERO( nIban, 2)+cBanco+cSucursal+cDC+cCuenta
Un saludo



Manuel
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Wed Nov 13, 2013 12:48 PM

Querido Manuel,

驴Has conseguido hacer funcionar SEPA norma 19?.

Muy agradecida ;)

Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Wed Nov 13, 2013 03:13 PM
Manuel Valdenebro wrote:
FiveWiDi wrote:

Tengo una maldita duda sobre como debe ser la identificaci贸n del acreedor en los adeudos directos SEPA.



La identificaci贸n del acreedor (AT-02) con un m谩ximo de 35 caracteres, debe tener la siguiente estructura:

AA codigo del pais ("ES" para Espa帽a)
DD d铆gito de control (a calcular segun mod-97-10)
SSS sufijo acreedor (normalmente 000)
NNNNNNNNN (nif del acreedor)

y hasta 35 caracteres si quieres a帽adirle algo mas.


Gracias,
As铆 lo tengo ahora.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Fri Nov 15, 2013 09:53 AM
Referente al tema de Fusionar el formulario de las Ordenes con los datos de nuestros clientes.
Mediante un xml y un programa ( exe) externo , tiene la ventaja de no necesitar el acrobat Profesional , pero para los que dispongan de el puede que sea mas facil usar automatizacion ole y prescindir tanto del archivo xml intermedio como del programa para fusionar los datos y hacerlo directamente .
Pongo un codigo resumido que funciona bien en mi ordenador .

Code (fw): Select all Collapse
FUNCTION  FusionaDatos()

   LOCAL ScanOK
   LOCAL oApp
   LOCAL oAVDoc, okAVD
   LOCAL oPDDoc
   LOCAL oForm,oFields,ofield,cfield
   LOCAL cPath := "c:\SEPA\ordenes\sepa2.pdf"
   LOCAL i, nLen

    oApp := CreateObject( "AcroExch.App" )
    oAVDoc := CreateObject("AcroExch.AVDoc")
    oKAVD = oAVDoc:Open(cPath, "sepa2.pdf")
    pausa( oKAVD )
    oForm:= CreateObject("AFormAut.App")

    oFields = oForm:fields()
    nLen := oFields:Count()
    pausa(nLen)

    For Each oField In oFields
        cField:=  oField:Name()
        If cField == "c2"
           oField:Value:= "NIF de la empresa"
        ELSEIF cField == "c32"
           oField:Value:= "Nombre de la empresa"
        ELSEIF cField == "c33"
           oField:Value:= "Direccion de la empresa"

        ......  // resto de los campos arrellenar

        endif
    Next Field
    oPDDoc := createobject("AcroExch.PDDoc")
    oPDDoc := oAvDoc:GetPDDoc()
    oPDDoc:Save(1, "c:\SEPA\ordenes\ordenfinal.pdf")
    oPDDoc:Close()
    oPDDoc := nil
    oAVDoc:BringToFront()
    oAVDoc:Maximize(1)

  //

RETURN nil
Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Fri Nov 15, 2013 09:39 PM
elvira wrote:Querido Manuel,

驴Has conseguido hacer funcionar SEPA norma 19?.


Si, a falta de probarlo con remesas reales en el banco.

El dise帽o del archivo no es complicado. Viene muy detallado en la informaci贸n del SEPA. Lo complicado es los cambios que hay que realizar en la aplicaci贸n (en la mia) para adaptar los datos del acreedor y deudores, para que funcionen automaticamente con el nuevo formato y sobre todo, el tema de los mandatos (RCUR, FRST, FNAL) y los cambios en las futuras domiciliaciones.

驴Tu como lo llevas?
Un saludo



Manuel
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Fri Nov 15, 2013 11:52 PM

Hola a todos,

Os comento mi experiencia (poca de momento).
El Banco de Sabadell (desconozco si es por definici贸n del cuaderno 19-14, B谩sico en Txt), no acepta en un mismo fichero para el mismo deudor dos cargos con la misma referencia, ni tan siquiera en diferentes remesas del mismo acreedor con diferente fecha cargo; no me lo puedo creer. Por tanto a modificar programa. Como los cangrejos, vamos 'pa tras'.
He tenido que incorporar validaci贸n de los caracteres ya sea del nombre del acreedor, deudor, u otros posibles textos, ya que por ejemplo el arterisco no est谩 permitido seg煤n la definici贸n del cuaderno; seguimos yendo 'pa tras'.
Cuando la aplicaci贸n de internet del Banc Sabadell funciona (dudo que funcione siempre, al menos para SEPA), te permite validar el fichero antes de enviarlo definitivamente; al final volveremos a remesar en papel... 'vaya tela'.
Si veo algo m谩s que sea curioso lo comento.

A脩ADO.
En BS la fecha de cargo de los adeudos no puede ser anterior a la fecha de creaci贸n del fichero. Bien, no se porque lo han definido as铆, para mi creo que es complicarle la vida al que gestiona recibos de asociaciones o clubes o por el estilo, en donde la fecha de 'vencimiento' tiene un valor relativo. Ala, a modificar la rutina para otra 'parida'.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
Re: Adeudos Directos SEPA en euros Esquema B2B
Posted: Sat Nov 16, 2013 04:48 AM
FiveWiDi wrote:
1)He tenido que incorporar validaci贸n de los caracteres ya sea del nombre del acreedor, deudor, u otros posibles textos, ya que por ejemplo el arterisco no est谩 permitido seg煤n la definici贸n del cuaderno; seguimos yendo 'pa tras'.
2)En BS la fecha de cargo de los adeudos no puede ser anterior a la fecha de creaci贸n del fichero. Bien, no se porque lo han definido as铆, para mi creo que es complicarle la vida al que gestiona recibos de asociaciones o clubes o por el estilo, en donde la fecha de 'vencimiento' tiene un valor relativo.



1) No s贸lo el asterisco. Para los espa帽oles la 脩 y la 脟 y en las zonas tur铆sticas, todos los extranjeros con caracteres especiales. Pero aunque habr谩 que verlo, yo creo que el sistema se va a tragar todos los caracteres. Lo que puede ocurrir es que la persona que se llama CA脩O aparezca en el recibo como CANO o CA%O.
2) Seg煤n las normas del SEPA-CORE, tiene que haber, al menos, cuatro dias desde la fecha de creaci贸n del recibo (y envio al banco) hasta la fecha de cargo/cobro (fecha en la que el banco presentar谩 a las otras entidades los recibos al cobro). Seg煤n las normas de emigraci贸n espa帽olas, algunas entidades espa帽olas bajaran de cuatro a tres dias este plazo.
Esto ya exist铆a en la norma del CSB-19 anterior. No le veo la complicaci贸n ya que la fecha de confecci贸n del fichero y la fecha de cargo son constantes en el archivo. Es tan f谩cil como hacer fConfeccion=DTOS(DATE()) y fCargo = DTOS ( DATE()+4)), independientemente que el recibo sea del a帽o catap煤n. Otra cosa es si hay vencimientos futuros que obliga a hacer bloques por cada fecha
Un saludo



Manuel