Métodos Servicio Emisión Web TFHKA - Indice del Manual Integración Directa HKA Documentos Equivalentes Electrónicos
Método EnviarRequest
La función encargada de construir y enviar los documentos electrónicos al proveedor tecnológico.
- REQUEST
- Parámetros a EnviarRequest
| Tipo | Identificador | Descripción |
|---|---|---|
| String | tokenEmpresa | Suministrado por el proveedor tecnológico |
| tokenPassword | ||
| FacturaGeneral | factura | Ver el detalle del Objeto Factura más abajo |
| String | adjuntos |
Posibles valores:
|
Class.FacturaGeneral
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| anticipos | Array <Anticipos> | - | NO |
|
| autorizado | Autorizado | - | NO |
|
| boletaIngreso | Array<BoletaIngreso> | - | NO |
|
| bolsaValores | Array<BolsaValores> | - | NO |
|
| cajaVenta | Array<CajaVenta> | - | NO |
|
| cantidadDecimales | String | N|1 | SI |
|
| cargosDescuentos | Array <CargosDescuentos> | - | NO |
|
| cliente | Cliente | - | SI |
|
| codigoCosto | String | - | NO |
|
| consecutivoDocumento | String | AN..14 | SI |
|
| detalleDeFactura | Array <FacturaDetalle> | - | SI |
|
| documentosReferenciados | Array <DocumentoReferenciado> | - | C/C |
|
| entregaMercancia | Entrega | - | NO |
|
| extras | Array <Extras> | - | NO |
|
| fabricantesoftware | Array<FabricanteSoftware> | - | SI |
|
| fechaEmision | String | AN|19 | SI |
|
| fechaFinPeriodoFacturacion | String | AN|19 | NO |
|
| fechaInicioPeriodoFacturacion | String | AN|19 | NO |
|
| fechaPagoImpuestos | String | AN|19 | NO |
|
| fechaVencimiento | String | AN|10 | NO |
|
| impuestosGenerales | Array <FacturaImpuestos> | - | SI |
|
| impuestosTotales | Array <ImpuestosTotales> | - | SI |
|
| informacionAdicional | Array <String> | AN|...10000 | NO |
|
| informacionBeneficiosComprador | Array <InformacionBeneficiosComprador> | - | NO |
|
| juegosLocalizados | Array<juegosLocalizados> | - | NO |
|
| mediosDePago | Array<MediosDePago> | - | NO |
|
| moneda | String | AN|3 | SI |
|
| propina | string | - | NO |
|
| ordenDeCompra | Array <OrdenDeCompra> | - | NO |
|
| rangoNumeracion | String | AN|20 | SI |
|
| redondeoAplicado | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| retencionesGenerales | Array <FacturaImpuestos> | - | SI |
|
| serviciosPublicos | Array<ServiciosPublicos> | - | NO |
|
| tasaDeCambio | Array<TasaDeCambio> | - | C/C |
|
| tasaDeCambioAlternativa | TasaDeCambioAlternativa | - | NO |
|
| terminosEntrega | TerminosEntrega | - | C/C |
|
| tipoDocumento | String | AN|2 | SI |
|
| tipoOperacion | String | AN|..4 | SI |
|
| totalAnticipos | String | Ent: N|..15
Dec: N|0..6 |
NO |
|
| totalBaseImponible | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| totalBrutoConImpuesto | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| totalCargosAplicados | String | Ent: N|..15
Dec: N|0..6 |
NO |
|
| totalDescuentos | String | Ent: N|..15
Dec: N|0..6 |
NO |
|
| totalMonto | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| totalProductos | String | AN|..5 | SI |
|
| totalSinImpuestos | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
Class.Anticipos
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| extras | Array <Extensible> | - | NO |
|
| fechaDeRecibido | String | AN|10 | SI |
|
| fechadePago | String | AN|10 | NO |
|
| horaDePago | String | AN|8 | NO |
|
| id | String | A|..150 | SI |
|
| instrucciones | String | AN|15..500 | SI |
|
| montoPagado | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
Class.Autorizado
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| direccion | Direccion | - | NO |
|
| String | AN|..50 | NO |
| |
| extras | Array <Extensible> | - | NO |
|
| nombreComercial | String | AN|..50 | NO |
|
| nombreContacto | String | AN|..50 | NO |
|
| nota | String | AN|..50 | NO |
|
| numeroDocumento | String | AN|..12 | SI |
|
| numeroDocumentoDV | String | AN|..2 | C/C |
|
| razonSocial | String | AN|..50 | NO |
|
| telefax | String | AN|..50 | NO |
|
| telefono | String | AN|..50 | NO |
|
| tipoIdentificacion | String | AN|..2 | SI |
|
Class.BoletaIngreso
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| nombreProductor | String | - | SI |
|
| numeroIdentificacionProductor | String | - | SI |
|
| codigoLEP | String | - | NO |
|
| nombreEvento | String | - | si |
|
| localidad | String | - | SI |
|
| codigoUnicoEvento | String | - | NO |
|
| tipoEvento | String | - | NO |
|
| etapa | String | - | NO |
|
| categoria | String | - | NO |
|
| departamento | String | - | NO |
|
| codigoDepartamento | String | - | NO |
|
| ciudad | String | - | NO |
|
| codigoCiudad | String | - | NO |
|
| direccion | String | - | NO |
|
| fechaEvento | String | - | NO |
|
| horaEvento | String | - | NO |
|
Class.bolsaValores
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| consecutivo | String | - | SI |
|
| fechaCumplimiento | String | - | SI |
|
| cantidadNominal | String | - | SI |
|
| precioCesionTotal | String | - | SI |
|
| PrecioRegistro | String | - | SI |
|
| montoderendimientos | String | - | SI |
|
| valor | String | - | SI |
|
| porcentajeComision | String | - | SI |
|
Class.CargosDescuentos
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| codigo | String | AN|2 | C/C |
|
| descripcion | String | AN|10..5000 | SI |
|
| extras | Array <Extensible> | - | NO |
|
| indicador | String | N|1 | SI |
|
| monto | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| montoBase | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| porcentaje | String | Ent: N|..6
Dec: N|2 |
SI |
|
| secuencia | String | N|..3 | SI |
|
Class.CajaVenta
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| placaCaja | String | - | SI |
|
| ubicacionCaja | String | - | SI |
|
| cajero | String | - | SI |
|
| tipoCaja | String | - | SI |
|
| codigoVenta | String | - | SI |
|
Class.CreditoInstrumentoJuego
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| numeroSerie | String | - | SI |
|
| valorCredito | String | - | SI |
|
| moneda | String | - | SI |
|
Class.Cliente
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| actividadEconomicaCIIU | String | AN|…4 | NO |
|
| apellido | String | AN|…50 | NO |
|
| destinatario | Array <Destinatario> | - | C/C |
|
| detallesTributarios | Array <Tributos> | - | SI |
|
| direccionCliente | Direccion | - | C/C |
|
| direccionFiscal | Direccion | - | C/C |
|
| String | AN|..50 | C/C |
| |
| extras | Array <Extensible> | - | NO |
|
| informacionLegalCliente | InformacionLegalCliente | - | C/C |
|
| nombreComercial | String | AN|5..450 | C/C |
|
| nombreContacto | String | AN|5..450 | NO |
|
| nombreRazonSocial | String | AN|5..450 | SI |
|
| nota | String | AN|..450 | NO |
|
| notificar | String | AN|2 | SI |
|
| numeroDocumento | String | AN|..12 | SI |
|
| numeroIdentificacionDV | String | AN|..2 | C/C |
|
| responsabilidadesRut | Array <Obligaciones> | - | SI |
|
| segundoNombre | String | AN|..50 | NO |
|
| telefax | String | N|..20 | NO |
|
| telefono | String | AN|..20 | NO |
|
| tipoIdentificacion | String | N|2 | SI |
|
| tipoPersona | String | N|1 | SI |
|
Class.DatosDelTransportista
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| detallesTributarios | Tributos | - | NO |
|
| direccionResponsableEntrega | Direccion | - | NO |
|
| String | AN|..50 | NO |
| |
| extras | Array <Extensible> | - | NO |
|
| indicadordeAtencion | String | AN|..50 | NO |
|
| indicadordeCuidado | String | AN|..50 | NO |
|
| nombreContacto | String | AN|..50 | NO |
|
| nombreResponsableEntrega | String | AN|..50 | NO |
|
| nota | String | - | NO |
|
| numeroIdentificacion | String | AN|…12 | NO |
|
| numeroIdentificacionDV | String | N|..2 | NO |
|
| numeroMatriculaMercantil | String | AN|..20 | NO |
|
| prefijoFacturacion | String | AN|..20 | NO |
|
| responsabilidadesRut | Array <Obligaciones> | - | NO |
|
| telefax | String | AN|..20 | NO |
|
| telefono | String | AN|..20 | NO |
|
| tipoIdentificacion | String | N|2 | NO |
|
| transportadorDireccion | Direccion | - | NO |
|
| transportadorNombre | String | AN|..50 | NO |
|
| transportadorNumeroDocumento | String | AN|..12 | NO |
|
| transportadorNumeroDocumentoDV | String | AN|..2 | NO |
|
| transportadorTipoIdentificacion | String | N|2 | NO |
|
Class.Destinatario
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| canalDeEntrega | String | - | SI |
|
| Array <String> | - | C/C |
| |
| extras | Array <Extensible> | - | NO |
|
| fechaProgramada | String | AN|19 | NO |
|
| mensajeProgramado | String | - | NO |
|
| nitProveedorReceptor | String | N|..12 | C/C |
|
| telefono | String | AN|..20 | C/C |
|
Class.detalleDeFactura
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| cantidadPorEmpaque | String | N|..3 | NO |
|
| cantidadReal | String | N|..6 | SI |
|
| cantidadRealUnidadMedida | String | AN|..6 | SI |
|
| cantidadUnidades | String | N|..6 | SI |
|
| cargosDescuentos | Array <CargosDescuentos> | - | C/C |
|
| codigoFabricante | String | - | NO |
|
| codigoIdentificadorPais | String | A|2 | NO |
|
| codigoProducto | String | AN|..50 | SI |
|
| codigoTipoPrecio | String | AN|..3 | C/C |
|
| descripcion | String | AN|..300 | C/C |
|
| descripcion2 | String | AN|..300 | C/C |
|
| descripcion3 | String | AN|..300 | C/C |
|
| descripcionTecnica | String | AN|..300 | NO |
|
| documentosReferenciados | Array <DocumentoReferenciado> | - | NO |
|
| estandarCodigo | String | AN | C/C |
|
| estandarCodigoID | String | AN | NO |
|
| estandarCodigoIdentificador | String | AN | NO |
|
| estandarCodigoNombre | String | AN | NO |
|
| estandarCodigoProducto | String | AN | C/C |
|
| estandarOrganizacion | String | - | NO |
|
| estandarSubCodigoProducto | String | - | NO |
|
| extras | Array <Extensible> | - | NO |
|
| impuestosDetalles | Array <FacturaImpuestos > | - | SI |
|
| impuestosTotales | Array <ImpuestosTotales> | - | SI |
|
| informacionAdicional | Array <LineaInformacionAdicional> | - | NO |
|
| mandatorioNumeroIdentificacion | String | N|..12 | C/C |
|
| mandatorioNumeroIdentificacionDV | String | N|..2 | C/C |
|
| mandatorioTipoIdentificacion | String | N|2 | C/C |
|
| marca | String | AN|..100 | C/C |
|
| modelo | String | AN|..100 | C/C |
|
| muestraGratis | String | N|1 | C/C |
|
| nombreFabricante | String | AN|..100 | NO |
|
| nota | String | AN|20..5000 | C/C |
|
| precioReferencia | String | Ent: N|..15
Dec: N|0..6 |
C/C |
|
| precioTotal | String | Ent: N|..15
Dec: N|0..6 |
C/C |
|
| precioTotalSinImpuestos | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| precioVentaUnitario | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| secuencia | String | AN|..4 | SI |
|
| seriales | String | AN|..500 | NO |
|
| subCodigoFabricante | String | AN|..50 | NO |
|
| subCodigoProducto | String | AN|..50 | NO |
|
| tipoAIU | String | AN|..50 | NO |
|
| unidadMedida | String | AN|..3 | SI |
|
Class.Direcciones
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| aCuidadoDe | String | AN|..50 | NO |
|
| aLaAtenciónDe | String | AN|..50 | NO |
|
| bloque | String | AN|..50 | NO |
|
| buzon | String | AN|..50 | NO |
|
| calle | String | AN|..50 | NO |
|
| calleAdicional | String | AN|..50 | NO |
|
| ciudad | String | AN|…50 | SI |
|
| codigoDepartamento | String | AN|…5 | SI |
|
| correccionHusoHorario | String | AN|6 | NO |
|
| departamento | String | AN|…50 | SI |
|
| departamentoOrg | String | AN|..50 | NO |
|
| direccion | String | AN|…100 | SI |
|
| distrito | String | AN|..50 | NO |
|
| extras | Array <Extensible> | - | NO |
|
| habitacion | String | AN|..50 | NO |
|
| lenguaje | String | A|2 ISO 639-1 | SI |
|
| localizacion | Array <Coordenadas> | AN|..50 | NO |
|
| municipio | String | AN|..50 | SI |
|
| nombreEdificio | String | AN|..50 | NO |
|
| numeroEdificio | String | AN|..50 | NO |
|
| numeroParcela | String | AN|..50 | NO |
|
| pais | String | A|2 | SI |
|
| piso | String | AN|..50 | NO |
|
| region | String | AN|..50 | NO |
|
| subDivision | String | AN|..40 | NO |
|
| ubicación | String | AN|..50 | NO |
|
| zonaPostal | String | AN|..10 | NO |
|
Class.DocumentoReferenciado
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| codigoEstatusDocumento | String | - | C/C | |
| codigoInterno | String | N|1 | SI |
|
| cufeDocReferenciado | String | AN|..90 | C/C |
|
| descripcion | Array <String> | AN|20..5000 | C/C |
|
| extras | Array <Extensible> | - | NO |
|
| fecha | String | AN|10 | C/C |
|
| fechaFinValidez | String | AN|10 | NO |
|
| fechaInicioValidez | String | AN|10 | NO |
|
| numeroDocumento | String | AN..20 | SI |
|
| tipoCUFE | String | AN|..11 | C/C |
|
| tipoDocumento | String | AN|..50 | NO |
|
| tipoDocumentoCodigo | String | AN|2 | C/C |
|
@IMPORTANTE: # Para referenciar facturas de venta al emitir una NC o ND, se deben enviar dos objetos de tipo DocumentosReferenciados indicando lo siguiente:
- Objeto 1: indicando los campos codigoEstatusDocumento; codigoInterno = ‘4’, numeroDocumento, ransferênc.
- Objeto 2: si el tipoOperacion es igual a 20 (para NC) ó 30 (para ND) y codigoInterno = ‘5’, se validan los campos: cufeDocReferenciado, fecha, y numeroDocumento.
- Al transmitir una Factura de Contingencia, se debe enviar un arreglo de tipo DocumentosReferenciados indicando los campos: codigoInterno = ‘1’, numeroDocumento, fecha, tipoDocumentoCodigo (correspondiente a Factura de Contingencia).
- Para referenciar Documentos de Despacho (codigoInterno = ’2’) o Documentos de Recepción (codigoInterno = ‘3’) se validan los campos: numeroDocumento y fecha.
Class.EntregaMercancia
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| datosTransportistas | DatoTransportistas | - | NO |
|
| direccionDespacho | Direccion | - | NO |
|
| direccionEntrega | Direccion | - | NO |
|
| extras | Array <Extensible> | - | NO |
|
| fechaEfectivaSalida | String | AN|19 | NO |
|
| fechaEstimada | String | AN|19 | NO |
|
| fechaReal | String | AN|19 | NO |
|
| fechaSolicitada | String | AN|19 | NO |
|
| identificacionTransporte | String | AN|..20 | NO |
|
| matriculaTransporte | String | AN|..20 | NO |
|
Class.Extras
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| controlInterno1 | String | AN|100 | C/C |
|
| controlInterno2 | String | Depende del Campo | C/C |
|
| nombre | String | Depende del Campo | SI |
|
| String | N|1 | SI |
| |
| valor | String | Depende del Campo | SI |
|
| xml | String | N|1 | SI |
|
Class.Extensible
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| controlInterno1 | String | AN|100 | C/C |
|
| controlInterno2 | String | Depende del Campo | C/C |
|
| nombre | String | Depende del Campo | SI |
|
| valor | String | Depende del Campo | SI |
|
Class.FacturaImpuestos
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| baseImponibleTOTALImp | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| codigoTOTALImp | String | AN|2 | SI |
|
| controlInterno | String | N|1 | C/C |
|
| extras | Array <Extensible> | - | NO |
|
| porcentajeTOTALImp | String | Ent: N|..2
Dec: N|2* |
SI |
|
| unidadMedida | String | AN|..5 | SI |
|
| unidadMedidaTributo | String | Ent: N|..2
Dec: N|2 |
C/C |
|
| valorTOTALImp | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| valorTributoUnidad | String | Ent: N|..15
Dec: N|0..6 |
C/C |
|
@IMPORTANTE: Para el caso del ICA y RETEICA en el cual el valor del porcentaje se maneja en base a mil, se debe informar el valor de dicho porcentaje en base a cien, es decir, si se desea informar un porcentaje de 11.04%mil para alguno de estos tributos, se debe indicar en el campo porcentajeTOTALImp como 1.104.
Class.FabricanteSoftware
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| NombreApellido | String | - | SI |
|
| RazonSocial | String | - | SI |
|
| nombreSoftware | String | - | SI |
|
Class.ImpuestosTotales
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| codigoTOTALImp | String | AN|2 | SI |
|
| extras | Array <Extensible> | - | NO |
|
| montoTotal | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| redondeoAplicado | String | - | SI |
|
Class.InformacionBeneficiosComprador
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| Codigo | String | - | SI |
|
| NombresApellidos | String | - | SI |
|
| Puntos | String | - | SI |
|
Class.informacionLegalCliente
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| codigoEstablecimiento | String | - | NO |
|
| nombreRegistroRUT | String | AN|..450 | SI |
|
| numeroIdentificacion | String | AN|..12 | SI |
|
| numeroIdentificacionDV | String | N|..2 | C/C |
|
| numeroMatriculaMercantil | String | N|9 | NO |
|
| prefijoFacturacion | String | - | NO |
|
| tipoIdentificacion | String | N|2 | SI |
|
Class.juegosLocalizados
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| direccionEstablecimiento | String | - | SI |
|
| montoDeposito | String | - | SI |
|
| tipoJuego | String | - | SI |
|
| numeroInstrumento | String | - | SI |
|
| creditoInstrumentoJuego | List<Class.CreditoInstrumentoJuego> | - | SI |
|
Class.LineaInformacionAdicional
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| cantidad | String | AN|..5 | NO |
|
| codigo | String | AN|..5 | NO |
|
| codigoInterno1 | String | - | NO |
|
| codigoInterno2 | String | - | NO |
|
| descripcion | String | AN|..450 | NO |
|
| fechaFin | String | AN|10 | NO |
|
| fechaInicio | String | AN|10 | NO |
|
| nombre | String | AN|..50 | NO |
|
| secuencia | String | AN|..3 | NO |
|
| tipo | String | N|1 | NO |
|
| valor | String | AN|..50 | NO |
|
Class.MediosDePago
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| codigoBanco | String | AN|..20 | NO |
|
| codigoCanalPago | String | AN|..20 | NO |
|
| codigoReferencia | String | AN|..20 | NO |
|
| extras | Array <Extensible> | - | NO |
|
| fechaDeVencimiento | String | AN|19 | C/C |
|
| medioPago | String | AN|..2 | SI |
|
| metodoDePago | String | AN|..2 | SI |
|
| nombreBanco | String | AN|..50 | NO |
|
| numeroDeReferencia | String | AN|..200 | NO |
|
| numeroDias | String | N|..3 | NO |
|
| numeroTransferencia | String | AN|..20 | NO |
|
Class.Obligaciones
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| extras | Array <Extensible> | - | NO |
|
| obligaciones | String | AN|7 | SI |
|
| regimen | String | AN|2 | NO |
|
Class.OrdenDeCompra
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| codigoCliente | String | AN|..20 | NO |
|
| documentoReferencia | DocumentoReferencia | - | NO |
|
| extras | Array <Extensible> | - | NO |
|
| fecha | String | AN|10 | NO |
|
| numeroOrden | String | AN|..20 | SI |
|
| numeroPedido | String | AN|..20 | C/C |
|
| tipoCUFE | String | AN|..20 | NO |
|
| tipoOrden | String | AN|..20 | NO |
|
| uuid | String | AN|..90 | NO |
|
NOTA: Al tratarse de una orden de entrega se debe informar la clase OrdenDeCompra, si es necesario indicar más de una orden se debe informar a través de la clase DocumentoReferenciado con codigoInterno =’1’, esto con el fin de enviar la información referente a las mismas en el grupo AdditionalDocumentReference.
Importante: En el caso del campo rangoNumeracion, éste valor siempre debe tener el siguiente formato (Pefijo-campoDesde), es decir, dicho campo es independiente de la modalidad de secuencial configurado en el portal (manual con prefijo o manual sin prefijo).
En el caso del campo consecutivoDocumento, este campo si depende de la modalidad de secuenciales configurados en el portal web.
- Si la modalidad asignada es “manual sin prefijo”, los valores para los campos rangoNumeracion y consecutivoDocumento’ deben ser por ejemplo:
- Factura #1: rangoNumeracion= "PRUE-1", consecutivoDocumento= "1"
- Factura #2: rangoNumeracion= "PRUE-1", consecutivoDocumento= "2"
- ...
- Factura #1000: rangoNumeracion= "PRUE-1", consecutivoDocumento= "1000"
- Si la modalidad asignada es “manual con prefijo”, los valores para los campos rangoNumeracion y consecutivoDocumento deben ser por ejemplo:
- Factura #1: rangoNumeracion= "PRUE-1", consecutivoDocumento= "PRUE1"
- Factura #2: rangoNumeracion= "PRUE-1", consecutivoDocumento= "PRUE2"
- ...
- Factura #1000: rangoNumeracion= "PRUE-1", consecutivoDocumento= "PRUE1000"
Class.serviciosPublicos
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| tipo | String | - | SI |
|
| consecutivo | String | - | SI |
|
| servicio | String | - | SI |
|
| nombreEmpresaEmite | String | - | SI |
|
| nombreEmpresaRecaudo | String | - | SI |
|
| numeroContrato | String | - | NO |
|
| peridodoConsumo | String | - | NO |
|
| notaServicio | String | - | NO |
|
| numeroDocumento | String | - | NO |
|
| tipoIdentificacion | String | - | NO |
|
| numeroDocumentoDV | String | - | CC |
|
| nombreEmpresaServicio | String | - | NO |
|
| nombreSuscriptor | String | - | NO |
|
| direccion | String | - | NO |
|
| direccionAdicional | String | - | NO |
|
| ciudad | String | - | NO |
|
| departamento | String | - | NO |
|
| estrato | String | - | NO |
|
| String | - | NO |
| |
| cicloFacturacion | String | - | NO |
|
| periodicidad | String | - | NO |
|
| notaDocumento | String | - | NO |
|
| cantidadUnidadTotal | String | - | NO |
|
| unidadmedida | String | - | NO |
|
Class.TasaDeCambio
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| baseMonedaDestino | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| baseMonedaOrigen | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| extras | Array <Extensible> | - | NO |
|
| fechaDeTasaDeCambio | String | AN|10 | SI |
|
| indicadorDeTasa | String | - | NO |
|
| monedaDestino | String | AN|3 | SI |
|
| monedaOrigen | String | AN|3 | SI |
PATH: ../cbc:SourceCurrencyCode |
| operadorCalculo | String | - | NO |
|
| tasaDeCambio | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
Class.TasaDeCambioAlternativa
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| baseMonedaDestino | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| baseMonedaOrigen | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
| extras | Array <Extensible> | - | NO |
|
| fechaDeTasaDeCambio | String | AN|10 | SI |
|
| indicadorDeTasa | String | - | NO |
|
| monedaDestino | String | AN|3 | SI |
|
| monedaOrigen | String | AN|3 | SI |
|
| operadorCalculo | String | - | NO |
|
| tasaDeCambio | String | Ent: N|..15
Dec: N|0..6 |
SI |
|
Class.TerminosEntrega
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| cargosDescuentos | Array <CargosDescuentos> | - | NO |
|
| codigoCondicionEntrega | String | AN|3 | C/C |
|
| costoTransporte | String | Por Definir | NO |
|
| direccionEntrega | Class.Direccion | - | NO |
|
| extras | Array <Extensible> | - | NO |
|
| identificacion | String | AN|..12 | NO |
|
| monto | String | Ent: N|..15
Dec: N|0..6 |
NO |
|
| responsableEntrega | String | AN|..50 | NO |
|
Class.Tributos
| Atributo | Tipo Dato | Formato | Requerido | Descripción |
|---|---|---|---|---|
| codigoImpuesto | String | AN|2 | SI |
|
| extras | Array <Extensible> | - | NO |
|
- RESPONSE
- Parámetros a Recibir
| Tipo | Identificación | Descripción |
|---|---|---|
| int | codigo | Indica el Estado de la operación retornado por el servicio, (Por definir catálogo) |
| String | consecutivoDocumento | Prefijo y Consecutivo del Documento concatenado sin separadores. Para el ejemplo anterior corresponde a: “PRUE980338337” |
| String | cufe | “Código Único de Factura Electrónica” correspondiente al documento consultado. |
| Bool | esValidoDian | “true” Si es válido |
| String | fechaAceptacionDIAN | Día y Hora en la que la DIAN aceptó el documento electrónico, en formato AAAA-MM-DD HH:MM:SS |
| String | fechaRespuesta | Día y Hora en la que se generó el documento electrónico, en formato AAAA-MM-DD HH:MM:SS |
| String | hash | Código de detección de errores |
| String | mensaje | Este mensaje está asociado al código de respuesta, útil para identificación de errores |
| Array | mensajesValidacion | Mensajes de validación en caso de notificación o rechazo |
| String | nombre | Nombre definido por la DIAN |
| String | qr | Concatenación cadena del código QR (elemento de control) |
| Array | reglasNotificacionDIAN | Reglas de validación en caso de notificación |
| Array | reglasValidacionDIAN | Reglas de validación en caso de rechazo |
| String | resultado | Resultado del consumo del método: Procesado” ó “Error” |
| String | tipoCufe | Algoritmo del tipo de CUFE. “CUFE-SHA384” ó “CUDE-SHA384” |
| String | xml | Archivo XML (tipo AttachedDocument) codificado en Base64 |
Una vez realizado el envío exitoso de la factura electrónica (código ‘200’ o ‘201’ en la respuesta), se procede a enviar los archivos adjuntos (a través del método CargarAdjuntos) consumiendo el Servicio Adjuntos Web SOAP, en el escenario de que el parámetro adjuntos se haya asignado en “1” u “11”, en caso contrario el Servicio Adjuntos Web SOAP retornará un error indicando que el documento NO admite adjuntos.
Método DescargaXML
Permite la descarga del documento XML (solo el documento electrónico Invoice, CreditNote y DebitNote), en caso que se requiera validar la información como la firma o la autenticidad de la misma o para efecto de manejo y almacenamiento local.
- REQUEST
- Parámetros a Enviar
| Tipo | Identificador | Descripción |
|---|---|---|
| String | tokenEmpresa | Suministrado por The Factory HKA Colombia |
| tokenPassword | ||
| Documento | Prefijo y Consecutivo del Documento electrónico concatenado sin separadores. Ejemplo “PRUE980338212 |
- RESPONSE
- Parámetros a Recibir
| Tipo | Identificador | Descripción |
|---|---|---|
| int | codigo | Indica el Estado de la operación retornado por el servicio |
| String | cufe | “Código Único de Factura Electrónica” correspondiente al documento consultado |
| String | documento | Documento XML (Documento equivalente) codificado en Base64 |
| String | hash | Código de detección de errores |
| String | mensaje | Este mensaje está asociado al codigo, útil para identificación de errores |
| String | nombre | Este mensaje está asociado al nombre |
| String | resultado | Resultado del consumo del método:
|
| String | tipoCufe | correspondiente al documento consultado |
Método GenerarContenedor
Un contendor es un tipo de documento AttachedDocument, la estructura de éste tiene por objetivo contener y transmitir en un único archivo XML un documento electrónico (Documento equivalente) y todos los eventos (ApplicationResponse) generados hasta la fecha.
- REQUEST
- Parámetros a Enviar
| Tipo | Identificador | Descripción |
|---|---|---|
| String | tokenEmpresa | Suministrado por The Factory HKA Colombia |
| tokenPassword | ||
| Documento | Prefijo y Consecutivo del Documento electrónico concatenado sin separadores. Ejemplo “PRUE980338212 |
- RESPONSE
- Parámetros a Recibir
| Tipo | Identificador | Descripción |
|---|---|---|
| int | Código | Indica el Estado de la operación retornado por el servicio |
| String | Contenedor | Documento XML (AttachedDocument) codificado en Base64 |
| String | Fecha | Fecha y Hora consumo del método, formato: AAAA-MM-DD HH:MM:SS |
| String | Hash | Código de detección de errores |
| String | Mensaje | Este mensaje está asociado al codigo, útil para identificación de errores. |
| String | Nombre | Este mensaje está asociado al nombre. |
| String | Resultado | Resultado del consumo del método:
|
- Para mayor información pude visitar la siguiente sección:
Tips Urls de Emisión
Método EnvioCorreo
Permite reenviar a una o varias direcciones de correos el documento indicado.
- REQUEST
- Parámetros a Enviar
| Tipo | Identificador | Descripción |
|---|---|---|
| String | tokenEmpresa | Suministrado por The Factory HKA Colombia |
| tokenPassword | ||
| Documento | Prefijo y consecutivo del Documento Electrónico concatenado sin separadores. Ejemplo “PRUE980338212”. Permite enviar múltiples destinatarios (máximo 5) separados por coma el carácter coma ‘,’ | |
| correo | Correo electrónico al que se enviará el documento. Ejemplo nombre@empresa.com | |
| adjuntos |
|
- RESPONSE
- Parámetros a Recibir
| Tipo | Identificador | Descripción |
|---|---|---|
| int | codigo | Indica el Estado de la operación retornado por el servicio |
| String | mensaje | Este mensaje está asociado al código, útil para identificación de errores |
| resultado | Resultado del consumo del método:
|
@Importante: Si durante la emisión del documento (método Enviar) el parámetro adjuntos se asignó en “10” u “11”, la plataforma The Factory HKA - DFACTURE no generará representación gráfica (PDF) estándar, por lo tanto solo será reenviado a los destinatarios los documentos alojados en la plataforma (AttachedDocument). Para realizar un reenvío de correo (con el AttachedDocument y adjuntos) a una dirección de email diferente a la utilizada durante la emisión se puede consumir nuevamente el método CargarAdjuntos del Servicio Adjuntos Web SOAP.
Método EstadoDocumento
Permite consultar el estado del documento indicado ante el Adquiriente, ante la DIAN, el tipo de entrega y si la misma fue exitosa, la lista de eventos (ApplicationResponse) asociados y otros parámetros de interés que puedes ser útil en los procesos de control del software de facturación (ERP) o para el modelo de negocio del cliente emisor.
- REQUEST
- Parámetros a Enviar
| Tipo | Identificador | Descripción |
|---|---|---|
| String | tokenEmpresa | Suministrado por The Factory HKA Colombia |
| tokenPassword | ||
| Documento | Prefijo y Consecutivo del Documento electrónico concatenado sin separadores. Ejemplo “PRUE980338212 |
- RESPONSE
- Parámetros a Recibir
| Tipo | Identificador | Descripción |
|---|---|---|
| Bool | aceptacionFisica | Indica si el documento posee aceptación física (entregado físicamente): “true” o “false” |
| String | acuseComentario | Comentario informado por el adquiriente al realizar el acuse |
| String | acuseEstatus | 0: Acuse no realizado ; 1: Acuse realizado |
| String | acuseResponsable | Email del responsable de realizar el acuse |
| String | acuseRespuesta | 0: Respuesta no enviada ; 1: Respuesta enviada |
| String | ambiente | Tipo de ambiente de generación del documento:
|
| String | cadenaCodigoQR | Concatenación cadena del código QR (elemento de control) |
| String | cadenaCufe | Concatenación cadena del código CUFE previo al cálculo por el algoritmo correspondiente del servicio |
| int | Codigo | Indica el estado de la operación retornado por el servicio |
| String | consecutivo | Consecutivo del Documento TFHKA/DIAN |
| String | cufe | “Código Único de Factura Electrónica” correspondiente al documento consultado, calculado por el algoritmo correspondiente del servicio |
| String | descripcionDocumento | Identificador del tipo de documento de referencia,
|
| String | descripcionEstatusDocumento | Descripción correspondiente al estatusDocumento ante la DIAN: “Procesado Correctamente” |
| String | entregaMetodoDIAN | Indica el método de Entrega a la DIAN
|
| Bool | esValidoDIAN |
|
| String | estatusDocumento | Código obtenido en la respuesta correspondiente al estado del documento ante la DIAN (Por definir catálogo) |
| Array <Evento> | eventos | Lista de eventos del Documento Electrónico |
| String | fechaAceptacionDIAN | Día y Hora en la que la DIAN aceptó el documento electrónico, en formato AAAA-MM-DD HH:MM:SS |
| String | fechaDocumento | Fecha en la que se generó el documento, en formato: AAAA-MM-DD |
| Array <HistorialDeEntregas> | historialDeEntregas | Histórico de las entregas del documento |
| String | mensaje | Este mensaje está asociado al codigo, útil para identificación de errores |
| String | mensajeDocumento | Entrega una descripción del error de cada una de las validaciones iniciales. Si no hay errores no entrega descripción |
| Bool | poseeAdjuntos | Indica si el documento posee adjuntos:
|
| Bool | poseeRepresentacionGrafica | Indica si el documento posee representación gráfica:
|
| Array <String> | reglasValidacionDIAN | Mensajes de validación por parte de la DIAN |
| String | resultado | Resultado del consumo del método:
|
| String | tipoCufe | Algoritmo utilizado para calcular CUFE:
|
| String | tipoDocumento | Identificador del tipo de documento de referencia
|
| String | trackID | Este elemento corresponde al TrackId del documento procesado |