Ef4ktur Manual Tecnico
Ef4ktur Manual Tecnico
Ef4ktur Manual Tecnico
Manual Tcnico
1.1 Observaciones:
3. Desbloqueo de la aplicacin
4. Importacin de elementos
4.1 Codificacin
10
11
4.6.1 facturae
11
4.6.2 csv
11
15
16
20
8. Nmero de albarn
21
Manual Tcnico
Adems es importante aclarar que una instalacin de este tipo nicamente permite disponer de una misma
instalacin u origen de datos para varios usuarios, pero la aplicacin se estara ejecutando siempre
localmente en cada uno de los equipos clientes.
Las instrucciones para una instalacin en red no varan en exceso del de una instalacin comn. Realizaremos
el proceso de instalacin desde uno de los equipos cliente desde los que se utilizar la aplicacin indicando
como ubicacin de la aplicacin una unidad de red en lugar de un disco local. Se seguirn las instrucciones
detalladas en el manual de usuario de la aplicacin del sistema operativo correspondiente. La carpeta donde
se ha instalado ef4ktur deber estar disponible en red con permisos tanto de lectura como de escritura para
el resto de los equipos clientes.
Cuando se utiliza windows como cliente es necesario mapear la unidad de red de forma correcta (se le debe
asignar una letra), no es suficiente con ejecutar el programa directamente desde conexiones de red ya que de
este modo la aplicacin no llega a ejecutarse debido a problemas con las rutas.
Despus de haber realizado la instalacin desde uno de los equipos cliente se proceder a instalar en el resto
de los equipos cliente el siguiente software:
Drivers correspondientes de las tarjetas criptogrficas, para poder hacer uso de ellas en el momento de
emitir/firmar facturas.
Mquina virtual de Java 6.
Manual Tcnico
1.1 OBSERVACIONES:
1.1.1 Instalacin compatible con el sistema operativo cliente
Dado que la aplicacin se ejecuta realmente en local la instalacin en la unidad de red ha de ser compatible
con el sistema operativo donde se ejecuta finalmente. De modo que si los ficheros disponibles remotamente
corresponden a una instalacin windows nicamente podra ser ejecutada en equipos windows.
Para solucionar este tipo de problemas es posible albergar los recursos que queramos que estn disponibles
para todos los usuarios en la unidad de red, y configurar la ruta de la preferencia deseada en consecuencia.
Manual Tcnico
El sistema se activa a travs de la preferencia Activar log para las trazas de error en la configuracin del
aplicativo. Su activacin almacena un fichero de texto en la ruta ruta_instalacin\facturae.log. Cabe
destacar que en caso de no tener activada esta preferencia el fichero de log no ser actualizado y por tanto
no ser de utilidad para la deteccin de problemas. Adems este fichero se vaca con cada nueva ejecucin
del programa, as que nicamente contiene informacin relativa a la ltima ejecucin de ef4ktur. De forma
que para que el contenido del mismo sea de utilidad es necesario reproducir el problema en la ltima
ejecucin de ef4ktur.
Ejecutar la aplicacin, activar la preferencia Activar log para las trazas de error y guardar el estado
pulsando el botn OK.
Salir del la aplicacin.
Ejecutar de nuevo la aplicacin he intentar reproducir el error en cuestin con el mnimo de pasos posibles.
Es decir, si el error por ejemplo aparece en el momento de firmar una factura, esta accin debera de
ejecutarse tan pronto como sea posible, sin realizar otras tareas no relacionadas con el problema como
podran ser introducir un nuevo emisor...
Cerrar la aplicacin justo despus de obtener el error.
As el fichero de log situado en la ruta ruta_instalacin\facturae.log obtendr la informacin necesaria
para determinar la causa del error. Este fichero deber ser puesto a disposicin del personal de soporte para
que el problema pueda ser detectado y solucionado en la mayor brevedad posible.
Manual Tcnico
3. DESBLOQUEO DE LA APLICACIN
Ef4ktur no permite el uso simultneo de mltiples usuarios de modo que la aplicacin realiza un bloqueo por
seguridad y para garantizar la integridad de los datos. De esta forma cuando un segundo usuario ejecute la
misma instancia de la aplicacin aparecer el siguiente mensaje en pantalla.
Debido a errores causados por factores externos a la aplicacin, es posible que esta quede en un estado de
bloqueo permanente. Esto sucede por ejemplo, cuando desde el sistema operativo forzamos la terminacin
del proceso principal del aplicativo. En estos casos la prxima vez que un usuario ejecute la aplicacin esta se
encontrara bloqueada independientemente de que haya ms instancias en ejecucin, apareciendo siempre el
mensaje mencionado anteriormente.
En estas situaciones es posible forzar un desbloqueo de la aplicacin. Para ello primero hay que cerciorarse de
que en ningn caso hay varias instancias de la aplicacin en ejecucin al mismo tiempo, ya que el desbloqueo
bajo estas circunstancias puede provocar errores irreparables en los datos almacenados en la base de datos.
Una vez sepamos con certeza que no hay varias instancias de la aplicacin en ejecucin se proceder a
desbloquear
la
aplicacin.
Para
ello
nicamente
es
necesario
borrar
el
fichero
ruta_instalacin/resources/application-blocked.txt. As la siguiente vez que se ejecute la aplicacin esta
estar desbloqueada.
Manual Tcnico
4. IMPORTACIN DE ELEMENTOS
Ef4ktur proporciona un sistema de importacin que permite importar datos generados en sistemas externos
como puede ser el caso de un ERP.... El sistema soporta la importacin de: sociedades, clientes/proveedores,
facturas, conceptos y tipos de unidad.
En caso de querer importar todos los tipos de elementos mencionados es importante seguir el siguiente
orden: primero se importan los tipos de unidad, despus conceptos, sociedades, clientes/proveedores y por
ltimo las facturas. Esto es debido a que las facturas por ejemplo dependen del resto de elementos
(sociedades, clientes/proveedores, conceptos, y tipos de unidad) y por tanto es necesario que estos existan
previamente en la base de datos para que las facturas se importen correctamente.
4.1 CODIFICACIN
La codificacin de los ficheros de importacin (csv) deber estar en el formato ISO-8859-1, de lo contrario
habr problemas con el encoding y ciertos caracteres se volvern ilegibles.
Si la exportacin e importacin se realizan sin modificar el CSV, no hay problemas con la codificacin. Por
ejemplo en el siguiente caso:
Id;Descripcin;
;Metros;
;Botellas;
Podra importarse y creara dos nuevas unidades, Metros y Botellas. Para importar el archivo basta con ir a
Gestin > Unidades > Importar y seleccionar el archivo con el contenido anteriormente descrito. Si todo ha
ido correctamente en la lista de unidades deberan aparecer las nuevas unidades.
Manual Tcnico
Id: es un valor numrico que nos sirve para referenciar la unidad en la lista de conceptos y deber ser nico
para cada elemento. El Id de las nuevas unidades ser asignado automticamente por la aplicacin y por
tanto es indiferente el valor que se indique en el fichero. Aun as es necesario respetar el espacio de dicho
campo tal y como se observa en el ejemplo anterior.
Descripcin: es un texto obligatorio que describe la unidad.
Id
retencion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Descripcin
IVA: Impuesto sobre el valor aadido
IPSI: Impuesto sobre la produccin, los servicios y la importacin
IGIC: Impuesto general indirecto de Canarias
IRPF: Impuesto sobre la Renta de las personas fsicas
Otro
ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurdicos documentados
IE: Impuestos especiales
Ra: Renta aduanas
IGTECM: Impuesto general sobre el trfico de empresas que se aplica en Ceuta y Melilla
IECDPCAC: Impuesto especial sobre los combustibles derivados del petrleo en la Comunidad Autonoma Canaria
IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares
ICIO: Impuesto sobre las construcciones, instalaciones y obras
IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra
IMSN: Impuesto municipal sobre solares en Navarra
IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra
IMPN: Impuesto municipal sobre publicidad en Navarra
Manual Tcnico
Id tipo de unidad: identifica el tipo de unidad asociado al concepto, es un valor numrico coherente con los
valores de las unidades. Existe una unidad genrica con valor 0. Para conocer el id de los tipos de unidad
existentes en la aplicacin, es posible exportar los tipo de unidad a un fichero csv a travs del botn exportar
en la seccin de unidades.
Rec. Equiv. : indica el % de recargo de equivalencia que se aplica.
apellido;Direccin;Cdigo
adicional;Correo
Es importante que la primera lnea del csv sea la cabecera tal como se indica aqu para que el sistema de
importacin funcione adecuadamente. Por ejemplo el siguiente archivo:
Para importar el archivo basta con ir a Gestin > Clientes/Proveedores > Importar y seleccionar el archivo
con el contenido anteriormente descrito. Si todo ha ido correcto en la lista de receptores deberan aparecer
los nuevos receptores.
Manual Tcnico
Tipo: Identifica el tipo que indica la identidad del receptor. Puede ser: 0 (Jurdica), 1 (Fsica) o bien 2 (sin
personalidad jurdica).
Tipo residencia: Identifica el estatus del sujeto. Puede ser: 0 (Residente), 1 (Extranjero) o 2 (Europeo).
Razn social: Razn social del receptor. Es obligatorio si el tipo de identidad es 0 o 2. De lo contrario puede
ser ;;
Nombre, Primer apellido y Segundo apellido: Identifican el nombre el apellido y el segundo apellido. Son
obligatorios si el tipo de identidad es 1. En caso contrario pueden ser ;;;;
Direccin: Direccin del sujeto o de la entidad.
Cdigo postal: Cdigo postal del sujeto o entidad.
Poblacin: Poblacin del sujeto o entidad.
Provincia: Provincia del sujeto o entidad.
Correo: Email del sujeto o entidad. Este email es el que se incluir en la factura.
Contacto adicional: Contacto adicional.
CIF: Identificador fiscal del sujeto o entidad.
Departamento: El departamento del sujeto o entidad.
Descripcin Departamento: Descripcin del departamento.
Correo envo: Email al que se enva la factura. Este email no se incluir en la factura, nicamente es el email
que se propone al enviar la factura por correo electrnico.
WSEndpoint, WSOperation, WSNamespace y WSNodename: Datos del servicio web al que se enviaran las
facturas. En caso de dejar dichos campos en blanco (;;;;) no se utilizar el envo de facturas por servicio web
para dicho receptor. A continuacin se detalla el significado de cada uno de los campos:
WSEndpoint: Endpoint del servicio web para que el cliente de envo se conecte.
WSOperation: Operacin del servicio web que admite el envo de adjuntos .
WSNamespace: Namespace de la respuesta una vez invocada la operacin del servicio web .
WSNodename: Nodo de respuesta con la informacin.
Para importar el archivo basta con ir a Gestin > Sociedades > Importar y seleccionar el archivo con el
contenido anteriormente descrito.
10
Manual Tcnico
Si todo ha ido correcto en la lista de sociedades deberan aparecer las nuevas sociedades.
Tipo: Identifica el tipo que indica la identidad del emisor. Puede ser: 0 (Jurdica), 1 (Fsica) o bien 2 (sin
personalidad jurdica).
Tipo residencia: Identifica el estatus del sujeto. Puede ser: 0 (Residente), 1 (Extranjero) o 2 (Europeo).
Razn social: Razn social del emisor. Es obligatorio si el tipo de identidad es 0 o 2. De lo contrario puede
ser ;;
Nombre, Primer apellido y Segundo apellido: Identifican el nombre, el apellido y el segundo apellido. Son
obligatorios si el tipo de identidad es 1. De lo contrario pueden ser ;;;;
Direccin: Direccin del sujeto o de la entidad.
Cdigo postal: Cdigo postal del sujeto o entidad.
Poblacin: Poblacin del sujeto o entidad.
Provincia: Provincia del sujeto o entidad.
Correo: Email del sujeto o entidad.
Nmero Cuenta: Nmero de cuenta bancaria del emisor.
SWIFT: Cdigo internacional de identificacin bancaria
IBAN: Cdigo Internacional de Cuenta Bancaria
Otros datos: Informacin adicional sobre el emisor.
Registro mercantil: Localidad del registro mercantil.
Tomo: Tomo del registro mercantil.
Libro: Libro del registro mercantil.
Seccin: Seccin del registro mercantil.
Folio: Folio del registro mercantil.
Hoja: Hoja del registro mercantil.
CIF: Identificador fiscal del sujeto o entidad.
4.6.1 facturae
Al importar una factura en formato facturae lo que se hace es leer dicha factura e incorporar los datos de la
misma al aplicativo. El estado en el que la factura se importa es borrador. Permite la importacin de facturas
individuales.
4.6.2 csv
Se ha definido un csv que se describe a continuacin para poder importar facturas de manera gil desde un
sistema externo al aplicativo, la idea de este mdulo es crear las facturas en un erp existente y exportarlas al
formato csv para poder incorporarlas al aplicativo y generar las factura electrnica en formato facturae. A
grandes rasgos el csv consta de:
Una cabecera que describe el propio fichero y los campos del mismo.
Un conjunto de lneas con los datos a importar.
11
Manual Tcnico
Se lee la primera lnea de datos y se obtiene de sta los datos generales de la factura, emisor, receptor
nmero de factura etc... as como los datos de la primera lnea de la factura
Se lee la siguiente lnea, si el nmero de factura de la segunda lnea es el mismo que el de la primera, se
considera que es la segunda lnea de la factura y solo se procesa la informacin referente a la nueva lnea de
la factura.
El proceso sigue hasta que se encuentra una lnea con un nmero de factura diferente, en ese momento se
crea una nueva factura.
As hasta que se termina el csv.
Con este sistema podemos importar desde un mismo csv varias facturas de una sola vez. Pasamos a
continuacin a describir el formato del csv.
RECEPTOR_CIF;VERSION_FACTURAE;NUMERO_FACTURA;FECHA_EMISION;FECHA_FACTURACION_INICIO;
FECHA_FACTURACION_FIN;FECHA_OPERACION;INFO_DESCRIPCION;CODIGO_PEDIDO;NUMERO_EXPEDIE
NTE;TIPO_PAGO;CODIGO_CONTRATO;FECHA_VENCIMIENTO;BRUTO;DESCUENTO_TOTAL;BASE_IMPONIB
LE;IMPUESTOS;IMPUESTOS_RETENIDOS;IMPORTE_TOTAL_FACTURA;GASTOS_FINANCIEROS;CONCEPTO_I
D;IMPUESTO_RATE;DESCRIPCION;CANTIDAD;IMPORTE_UNITARIO;DESCUENTO_RATE;IMPORTE_TOTAL;I
MPORTE_TOTAL_IMPUESTOS;FECHA_DEVENGO;RETENCION_ID;RETENCION_PORCENTAJE;RECEQUIV_PO
RCENTAJE;NUMERO_ALBARAN;FECHA_ALBARAN;EMISOR_CIF;
Es importante que la primera lnea del csv sea la cabecera tal como se indica aqu para que el sistema de
importacin funcione adecuadamente. Por ejemplo el siguiente archivo:
RECEPTOR_CIF;VERSION_FACTURAE;NUMERO_FACTURA;FECHA_EMISION;FECHA_FACTURACION_INICIO;
FECHA_FACTURACION_FIN;FECHA_OPERACION;INFO_DESCRIPCION;CODIGO_PEDIDO;NUMERO_EXPEDIE
NTE;TIPO_PAGO;CODIGO_CONTRATO;FECHA_VENCIMIENTO;BRUTO;DESCUENTO_TOTAL;BASE_IMPONIB
LE;IMPUESTOS;IMPUESTOS_RETENIDOS;IMPORTE_TOTAL_FACTURA;GASTOS_FINANCIEROS;CONCEPTO_I
D;IMPUESTO_RATE;DESCRIPCION;CANTIDAD;IMPORTE_UNITARIO;DESCUENTO_RATE;IMPORTE_TOTAL;I
MPORTE_TOTAL_IMPUESTOS;FECHA_DEVENGO;RETENCION_ID;RETENCION_PORCENTAJE;RECEQUIV_PO
RCENTAJE;NUMERO_ALBARAN;FECHA_ALBARAN;EMISOR_CIF;
P9800001A;3.2;F1;10/02/09;10/03/09;10/03/09;10/04/09;dietas;12345;EXPF1;1;contrato;10/03/09;32.24;2.62;29.62;5.62;1.48;33.76;10.0;0;18;leche;5.0;5.25;10.0;23.62;27.40;10/0
2/09;4;5.0;3.0;1;23/11/11;00000000T;
P9800001A;3.2;F5;10/02/09;10/03/09;10/03/09;10/04/09;dietas;12345;EXPF5;1;contrato;10/03/09;32.24;2.62;29.62;5.62;1.48;33.76;10.0;0;8;agua;2.0;3.0;0.0;6.0;6.36;10/02/09;4;5.
0;3.0;1;23/11/11;00000000T;
Hay que tener en cuenta que la cabecera debe estar en una sola lnea.
12
Manual Tcnico
En caso de importar dicho fichero se crearan dos nuevas facturas en borrador, F1 y F5 (hay que tener
importados los clientes/proveedores y sociedades para que los CIFs del ejemplo sean vlidos). Para importar
el archivo basta con ir a Facturas > Borradores > Importar y seleccionar el archivo con el contenido
anteriormente descrito. Si todo ha ido correcto en la lista de borradores deberan aparecer las nuevas
facturas.
RECEPTOR_CIF: CIF del receptor de la factura. Debe existir un solo receptor con este cif en la lista de
receptores del aplicativo.
VERSION_FACTURAE: El nmero de versin facturae.
numero_FACTURA: Nmero de la factura que se va a importar, generalmente Serie+nmero correlativo: El
programa intentar descomponer este identificador en un prefijo que identifica a la serie y el nmero
correlativo de la factura.
FECHA_EMISION: En formato dd/mm/aaaa es decir dos dgitos para el da, una barra / , dos dgitos para el
mes, una barra / y cuatro dgitos para el ao.
FECHA_FACTURACION_INICIO: Equivalente a la fecha de emisin.
FECHA_FACTURACION_FIN: Equivalente a la fecha de emisin.
FECHA_OPERACION: La fecha de operacin.
INFO_DESCRIPCION: Concepto de la factura
CODIGO_PEDIDO: Debe ser un nmero con el separador decimal . . No es obligatorio.
NUMERO_EXPEDIENTE: Nmero de expediente. No obligatorio
TIPO PAGO: Identificador del tipo de pago.
id TipoPago
0
1
2
3
4
5
6
7
8
9
10
11
12
16
17
18
19
Descripcin
Al contado
Transferencia
Letra Aceptada
Crdito Documentario
Contrato Adjudicacin
Letra de cambio
Pagar a la Orden
Pagar No a la Orden
Cheque
Reposicin
Especiales
Compensacin
Giro postal
Cheque conformado
Cheque bancario
Pago contra reembolso
Pago mediante tarjeta
13
Manual Tcnico
CONCEPTO_ID: Identificador de referencia de la lnea de factura, en el caso que nos ocupa su valor debe ser
0.
IMPUESTO_RATE: Porcentaje del impuesto aplicado a esta lnea de factura. Debe ser uno de los siguientes
valores:
0: 0% IVA
4: 4% IVA
10: 10% IVA
21: 21% IVA
DESCRIPCION: Descripcin que aparecer asociada a la lnea de factura.
CANTIDAD: Nmero de unidades asociadas a la lnea de factura (debe ser un nmero con el separador
decimal).
IMPORTE_UNITARIO: Importe de cada una de las unidades asociadas a la lnea de factura (debe ser un
nmero con el separador decimal).
DESCUENTO_RATE: Porcentaje de descuento aplicado a la lnea de factura (debe ser un nmero con el
separador decimal).
IMPORTE_TOTAL: Importe total de la lnea aplicado el descuento (debe ser un nmero con el separador
decimal).
IMPORTE_TOTAL_IMPUESTOS: Importe total de la lnea aplicando el descuento y los impuestos (debe ser un
nmero con el separador decimal).
FECHA_DEVENGO: Equivalente a la fecha de emisin.
RETENCION_ID: Id de la retencin aplicada.
RETENCION_PORCENTAJE: Porcentaje aplicado de retencin.
RECEQUIV_PORCENTAJE: Recargo de equivalencia.
NUMERO_ALBARAN: El nmero del primer albarn. Por restricciones del programa slo se exportar el
primer albarn.
FECHA_ALBARAN: La fecha del primero albarn. Por restricciones del programa slo se exportar el primer
albarn.
EMISOR_CIF: CIF del emisor de la factura. Debe existir un solo un emisor con este CIF en la lista de emisores
del aplicativo.
14
Manual Tcnico
De modo que en caso de querer personalizar la apariencia de los PDFs de las facturas lo que debemos hacer
es modificar los ficheros que realizan esta transformacin. Existe un fichero XSL por cada idioma soportado en
la aplicacin. Dichos ficheros se encuentran en la ruta /resources/parser/ dentro del directorio donde se
instalo el programa, con nombres del tipo: efactura2fo_xx_XX.xsl , donde xx_XX es el cdigo que determina el
idioma.
Dado que hay un fichero por idioma se podra incluso personalizar de manera distinta el formato de la factura
para cada uno de los idiomas soportados.
Por tanto lo nico que hay que hacer para alterar el formato del PDF es modificar estos fichero o bien
sustituirlos por otros que tengan el mismo nombre que los originales y volver a ejecutar la aplicacin.
Evidentemente estos archivos han de generar un documento XSL-FO valido para que la aplicacin pueda
generar el PDF correctamente, de lo contrario se producir un error en tiempo de ejecucin. Es por esto que
en necesario tener conocimientos sobre XSLT y XSL-FO para alterar el contenido de estos ficheros. En el
momento de generar una nueva factura a travs de la interfaz del programa se generar el documento PDF
de la factura y visualizndola a travs del botn previsualizar se podrn apreciar los cambios realizados en el
formato del PDF.
15
Manual Tcnico
public static String sendFacturae(String endPoint, String operation, String namespace, String responseNode,
String attachFilePath) throws CoreWSException
{
EndpointReference targetEPR = new EndpointReference(endPoint);
Options options = new Options();
options.setTo(targetEPR);
options.setProperty(Constants.Configuration.ENABLE_SWA,
Constants.VALUE_TRUE);
options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
// Increase the time out when sending large attachments
options.setTimeOutInMilliSeconds(10000);
options.setTo(targetEPR);
options.setAction(operation);
ServiceClient sender;
OperationClient mepClient = null;
try
{
sender = new ServiceClient(null, null);
sender.setOptions(options);
mepClient = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
}
catch (AxisFault e)
{
// TODO Auto-generated catch block
e.printStackTrace();
throw new CoreWSException(e);
16
Manual Tcnico
17
Manual Tcnico
e.printStackTrace();
throw new CoreWSException(e);
}
SOAPBody body = response.getEnvelope().getBody();
SOAPFault fault= body.getFault();
if(fault != null)
{
throw new CoreWSException(new Exception("Error en el envio"));
}
QName ns = new QName(namespace, responseNode);
OMElement element22 = body.getFirstChildWithName(ns);
if(element22 != null)
{
return element22.getText();
}
return "envio realizado correctamente";
}
18
Manual Tcnico
El siguiente cdigo representa la recepcin de un peticin SWA realizada al ejecutar el cdigo anterior
public class AttachmentService {
19
Manual Tcnico
20
Manual Tcnico
8. NMERO DE ALBARN
El nmero de albarn de las facturas se compone de caracteres alfanumricos (a-z, A-Z, 0-9). El nmero
mximo de caracteres que puede contener el nmero de albarn es de 12. Esto es as a causa del estndar
Facturae, donde se define cmo debe ser el nmero de albarn.
21