DGIIFacturaElectronica 1.0.5

There is a newer version of this package available.
See the version list below for details.
dotnet add package DGIIFacturaElectronica --version 1.0.5                
NuGet\Install-Package DGIIFacturaElectronica -Version 1.0.5                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DGIIFacturaElectronica" Version="1.0.5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DGIIFacturaElectronica --version 1.0.5                
#r "nuget: DGIIFacturaElectronica, 1.0.5"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DGIIFacturaElectronica as a Cake Addin
#addin nuget:?package=DGIIFacturaElectronica&version=1.0.5

// Install DGIIFacturaElectronica as a Cake Tool
#tool nuget:?package=DGIIFacturaElectronica&version=1.0.5                

DGII Facturaci�n Electr�nica

Librer�a de uso com�n para hacer que los sistemas actuales se conviertan muy facilmente en emisores electr�nicos de DGII consumiendo los servicios en la nube para esos fines.

Requisitos

Para usar esta librer�a es necesario contar con un certificado digital personal para fines tributarios, nombre de usuario y una contrase�a que puedes obtener gratis en el sitio web del sistema, estos pasos son necesarios para obtener las URL's disponibles como son:

  1. Autenticaci�n con DGII https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/Autenticacion
  2. Recepci�n de comprobantes https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/Recepcion/api/ecf
  3. Aprobaci�n comercial https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/AprobacionComercial/api/ecf Debes sustituir 'TU_RNC_SIN_ESPACIOS_NI_GUIONES por tu RNC o c�dula y configurarlo tambi�n en el sistema Men� Inicio/Empresa Aqu�

�C�mo uso la librer�a?

Luego de instalar el paquete en un proyecto .NET pasamos a comentarte que esta librer�a se compone de varios m�todos que usaremos para consumir los servicios de facturaci�n Electr�nica, estos m�todos son:

  • UploadCertificate
    • Este m�todo recibe dos par�metros de cadena de texto, uno es la ruta f�sica de tu certificado, y el otro es la clave de tu certificado digital, lo usaremos para cargar el certificado la primera vez unicamente. Este m�todo se encarga de subir el certificado necesario para realizar las operaciones. Aseg�rate de validar y verificar el certificado antes de continuar con las siguientes operaciones.
  • EnviarFactura
    • Con este m�todo enviaremos las facturas a DGII, recibe un par�metro de la factura en cuesti�n a enviar. Esta funci�n env�a una factura a trav�s del servicio. Utiliza la objeto FacturaElectronica que contiene la factura a enviar.
  • ConsultarTrackId
    • Realiza la consulta del n�mero de seguimiento o TrackId, recibe como par�metros el RNC del emisor y el n�mero de NCF. Este m�todo consulta el estado de una factura utilizando el RNC del emisor y el n�mero de comprobante fiscal (NCF). Implementa la l�gica necesaria para conectarte al servicio o API de consulta correspondiente y realizar la consulta utilizando los par�metros proporcionados. Procesa la respuesta y extrae la informaci�n necesaria.
  • ConsultarEstatus
    • Realiza la consulta del estado del documento en los sevidores electr�nicos de DGII, recibe el TrackId o n�mero de seguimiento. Esta funci�n consulta el estado de una factura utilizando un ID de seguimiento proporcionado. Procesa la respuesta y extrae la informaci�n necesaria.
  • ConsultarTimbre
    • Realiza la consulta para generar el c�digo QR de consultar el documento en los sevidores de DGII, recibe como par�metros fecha del documento, RNC de comprador y el n�mero de comprobante electr�nico.
  • EnviarNCFAComprador
    • Envia el comprobante al comprador, recibe como par�metros la factura, URl de Autenticaci�n y la URl de Recepci�n.
  • NCFRecibidos
    • Consulta los NCF recibidos desde nuestros suplidores en un rango de fecha.
  • EnviarAprobacionComercialAComprador
    • Envia al suplidor una aprobaci�n o rechazo comercial
  • AprobacionesComerciales
    • Consulta las aprobaciones comerciales recibidas en un rango de fechas. Este ejemplo ha sido probado con la versi�n 4.8 de .NET Framework y NET 6 con su respectiva versi�n de Visual Studio.
//Declaramos las variables
private static readonly string usuario = "NombreDeUsuario";
private static readonly string clave = "ClaveSecreta";
private static readonly string uRlAutenticacion = "https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/Autenticacion";
private static readonly string uRlRecepcion = "https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/Recepcion/api/ecf";
private static readonly string uRlAprobacionComercial = "https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/AprobacionComercial/api/ecf";
private static readonly string rncEmisor = "TU_RNC";
private static readonly string rncComprador = "RNC_COMPRADOR";
private static readonly string ncf = "E-COMPROBANTE";
private static readonly string fechaEmision = "DD-MM-YYYY";
//Instanciamos la clase para consumir los m�todos
DocumentosElectronicos documentosElectronicos = new DocumentosElectronicos(usuario, clave, Ambientes.TesteCF);
//Subimos el certificado digital
documentosElectronicos.UploadCertificate("RUTA COMPLETA DE TU CERTIFICADO DIGITAL", "CLAVE DEL CERTIFICADO");
//Preparamos el documento a enviar
List<Detalle> detalles = new List<Detalle>
{
    new Detalle(1, 100, "Producto test 1", "11", 10),
    new Detalle(1, 200, "Producto test 2", "12", 10)
};
FacturaElectronica facturaElectronica = new FacturaElectronica(detalles.ToArray(), ncf, "31-12-2025", TipoDeIngresos.Ingresos_por_operaciones_No_financieros, rncEmisor, "TU RAZON SOCIAL", "Mi direcci�n", fechaEmision, rncComprador, "NOMBRE DEL CLIENTE", TipoDePago.Contado, IndicadorMontoGravado.Con_ITBIS_INCLUIDO, ProvinciaMunicipio.MUNICIPIO_SANTO_DOMINGO_DE_GUZMAN_010100, ProvinciaMunicipio.MUNICIPIO_SANTO_DOMINGO_DE_GUZMAN_010100, ProvinciaMunicipio.DISTRITO_NACIONAL_010000, ProvinciaMunicipio.DISTRITO_NACIONAL_010000);

//Enviamos el documento o factura
documentosElectronicos.EnviarFactura(facturaElectronica);
//Consultamos el n�mero de seguimiento de cada en envio del documento
List<TrackId> resultado = await documentosElectronicos.ConsultarTrackId(rncEmisor, eNcf);
foreach (var item in resultado)
    Console.WriteLine($"TrackId: {item.trackId}\nMensaje: {item.mensaje}\nEstado: {item.estado}\nFecha Recepcion: {item.fechaRecepcion}");
//Consultamos el estatus mediante su n�mero de seguimiento o TrackId
string resultado = await documentosElectronicos.ConsultarEstatus(trackId);
//Consultamo el Timbre para generar el c�digo QR
Timbre resultado = await documentosElectronicos.ConsultarTimbre(fecha, rnc, ncf);
Console.WriteLine($"Fecha de Firma: {resultado.fechaFirma}\nfechaEmision: {resultado.fechaEmision}\nencf: {resultado.encf}\nRNC Comprador: {resultado.rncComprador}\nC�digo de Seguridad: {resultado.codigoSeguridad}\nMonto Total: {resultado.montoTotal}\nRrl Image: {resultado.urlImage}\nRNC Emisor: {resultado.rncEmisor}");
//Enviamos la Factura Al Comprador
ARECF resultado = await documentosElectronicos.EnviarNCFAComprador(facturaElectronica, uRlAutenticacion, uRlRecepcion);
Console.WriteLine($"Detalle de Acuse de Recibo: {resultado.detalleAcusedeRecibo}\nAny: {resultado.any}");
//Consultamos los NCF Recibidos
List<eNCFRecibido> resultado = await documentosElectronicos.NCFRecibidos(fecha1, fecha2);
foreach (var item in resultado)
{
    Console.WriteLine($"C�dula: {item.cedula}\n{item.nombre_Completo}\nFecha: {item.fecha}\nTotal: {item.total}\nSubtotal: {item.subtotal}\nSecuencia_Gobierno: {item.secuencia_Gobierno}\nNombre_Completo: {item.nombre_Completo}\nImpuestos: {item.impuestos}");
    Console.WriteLine("\n");
}
//Enviar Aprobacion Comercial Al Comprador
string resultado = await documentosElectronicos.EnviarAprobacionComercialAComprador(uRlAprobacionComercial, uRlAutenticacion, rncEmisor, rncComprador, ncf, fechaEmision, montoTotal, aprobado, comentarios);
Console.WriteLine(resultado);
//Consultamos las Aprobaciones Comerciales recibidas
List<AprobacionComercial> resultado = await documentosElectronicos.AprobacionesComerciales(fecha1, fecha2);
foreach (var item in resultado)
    Console.WriteLine(item.rncComprador);

Todo el c�digo junto a continuaci�n en un proyecto de consola en C#

private static readonly string usuario = "NombreDeUsuario";
private static readonly string clave = "ClaveSecreta";
private static readonly string url = "https://api.aslan.com.do/TesteCF/";
private static readonly string uRlAutenticacion = "https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/Autenticacion";
private static readonly string uRlRecepcion = "https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/Recepcion/api/ecf";
private static readonly string uRlAprobacionComercial = "https://api.aslan.com.do/ecf/TU_RNC_SIN_ESPACIOS_NI_GUIONES/fe/AprobacionComercial/api/ecf";
private static readonly string rncEmisor = "TU_RNC";
private static readonly string rncComprador = "RNC_COMPRADOR";
private static readonly string ncf = "E-COMPROBANTE";
private static readonly string fechaEmision = "DD-MM-YYYY";
private static DocumentosElectronicos documentosElectronicos;
static void Main(string[] args)
{
    documentosElectronicos = new DocumentosElectronicos(usuario, clave, url);
    
    //Para el manejo de las excepciones, nos suscribimos en el evento `Excepcion` para capturar los errores de forma centralizada.
    documentosElectronicos.Excepcion += DocumentosElectronicos_Excepcion;
    List<Detalle> detalles = new List<Detalle>
    {
        new Detalle(1, 100, "Producto test 1", "11", 10),
        new Detalle(1, 200, "Producto test 2", "12", 10)
    };
    FacturaElectronica facturaElectronica = new FacturaElectronica(detalles.ToArray(), ncf, "31-12-2025", "01", rncEmisor, "TU RAZON SOCIAL", "TU DIRECCION", fechaEmision, rncComprador, "NOMBRE DEL CLIENTE", 1, 1, "010100", "010100", "010000", "010000");
    _ = SubirCertificado();
    _ = EnviarFactura(facturaElectronica);
    _ = ConsultarTrackId(rncEmisor, ncf);
    _ = ConsultarEstatus("954e3d5c-1cc8-4726-84a7-3ceec1599a2b");
    _ = ConsultarTimbre(fechaEmision, rncEmisor, ncf);
    _ = EnviarFacturaAComprador(facturaElectronica, uRlAutenticacion, uRlRecepcion);
    _ = NCFRecibidos(new DateTime(2023, 1, 1), new DateTime(2023, 12, 31));
    _ = EnviarAprobacionComercialAComprador(uRlAprobacionComercial, uRlAutenticacion, rncEmisor, rncComprador, ncf, fechaEmision, 3000.01m, true, "Hemos aprobado el comprobante.");
    _ = AprobacionesComerciales(new DateTime(2023, 1, 1), new DateTime(2023, 12, 31));
    //Al conluir el uso del componente, eliminamos la suscripci�n al evento.
    documentosElectronicos.Excepcion -= DocumentosElectronicos_Excepcion;
    Console.WriteLine("Listo!");
    Console.ReadLine();
}
private static void DocumentosElectronicos_Excepcion(object sender, ExceptionEventArgs e)
{
    Console.WriteLine(e.Exception.Message);
}
private static async Task<string> SubirCertificado()
{
    string resultado = await documentosElectronicos.UploadCertificate("RUTA COMPLETA DE TU CERTIFICADO DIGITAL", "CLAVE DEL CERTIFICADO");
    Console.WriteLine(resultado);
    return resultado;
}
private static async Task<string> EnviarFactura(FacturaElectronica facturaElectronica)
{
    string resultado = await documentosElectronicos.EnviarFactura(facturaElectronica);
    Console.WriteLine(resultado);
    return resultado;
}
private static async Task<List<TrackId>> ConsultarTrackId(string rncEmisor, string eNcf)
{
    List<TrackId> resultado = await documentosElectronicos.ConsultarTrackId(rncEmisor, eNcf);
    foreach (var item in resultado)
        Console.WriteLine($"TrackId: {item.trackId}\nMensaje: {item.mensaje}\nEstado: {item.estado}\nFecha Recepcion: {item.fechaRecepcion}");
    return resultado;
}
private static async Task<string> ConsultarEstatus(string trackId)
{
    string resultado = await documentosElectronicos.ConsultarEstatus(trackId);
    Console.WriteLine(resultado);
    return resultado;
}
private static async Task<Timbre> ConsultarTimbre(string fecha, string rnc, string ncf)
{
    Timbre resultado = await documentosElectronicos.ConsultarTimbre(fecha, rnc, ncf);
    Console.WriteLine($"Fecha de Firma: {resultado.fechaFirma}\nfechaEmision: {resultado.fechaEmision}\nencf: {resultado.encf}\nRNC Comprador: {resultado.rncComprador}\nC�digo de Seguridad: {resultado.codigoSeguridad}\nMonto Total: {resultado.montoTotal}\nRrl Image: {resultado.urlImage}\nRNC Emisor: {resultado.rncEmisor}");
    return resultado;
}
private static async Task<ARECF> EnviarFacturaAComprador(FacturaElectronica facturaElectronica, string uRlAutenticacion, string uRlRecepcion)
{
    ARECF resultado = await documentosElectronicos.EnviarNCFAComprador(facturaElectronica, uRlAutenticacion, uRlRecepcion);
    Console.WriteLine($"Detalle de Acuse de Recibo: {resultado.detalleAcusedeRecibo}\nAny: {resultado.any}");
    return resultado;
}
private static async Task<List<eNCFRecibido>> NCFRecibidos(DateTime fecha1, DateTime fecha2)
{
    List<eNCFRecibido> resultado = await documentosElectronicos.NCFRecibidos(fecha1, fecha2);
    foreach (var item in resultado)
    {
        Console.WriteLine($"C�dula: {item.cedula}\n{item.nombre_Completo}\nFecha: {item.fecha}\nTotal: {item.total}\nSubtotal: {item.subtotal}\nSecuencia_Gobierno: {item.secuencia_Gobierno}\nNombre_Completo: {item.nombre_Completo}\nImpuestos: {item.impuestos}");
        Console.WriteLine("\n");
    }
    return resultado;
}
private static async Task<string> EnviarAprobacionComercialAComprador(string uRlAprobacionComercial, string uRlAutenticacion, string rncEmisor, string rncComprador, string ncf, string fechaEmision, decimal montoTotal, bool aprobado, string comentarios)
{
    string resultado = await documentosElectronicos.EnviarAprobacionComercialAComprador(uRlAprobacionComercial, uRlAutenticacion, rncEmisor, rncComprador, ncf, fechaEmision, montoTotal, aprobado, comentarios);
    Console.WriteLine(resultado);
    return resultado;
}
private static async Task<List<AprobacionComercial>> AprobacionesComerciales(DateTime fecha1, DateTime fecha2)
{
    List<AprobacionComercial> resultado = await documentosElectronicos.AprobacionesComerciales(fecha1, fecha2);
    foreach (var item in resultado)
        Console.WriteLine(item.rncComprador);
    return resultado;
}

Tabla de provincias y municipios utilizados para enviar el objeto FacturaElectronica |Codigo|Nombre|| | - | - | - | |010000|DISTRITO NACIONAL|| |010100|MUNICIPIO SANTO DOMINGO DE GUZM�N|| |010101|SANTO DOMINGO DE GUZM�N (D. M.).|| |020000|PROVINCIA AZUA|| |020100|MUNICIPIO AZUA|| |020101|AZUA (D. M.).|| |020102|BARRO ARRIBA (D. M.).|| |020103|LAS BAR�AS-LA ESTANCIA (D. M.).|| |020104|LOS JOVILLOS (D. M.).|| |020105|PUERTO VIEJO (D. M.).|| |020106|BARRERAS (D. M.).|| |020107|DO�A EMMA BALAGUER VIUDA VALLEJO (D. M.).|| |020108|CLAVELLINA (D. M.).|| |020109|LAS LOMAS (D. M.).|| |020200|MUNICIPIO LAS CHARCAS|| |020201|LAS CHARCAS (D. M.).|| |020202|PALMAR DE OCOA (D. M.).|| |020300|MUNICIPIO LAS YAYAS DE VIAJAMA|| |020301|LAS YAYAS DE VIAJAMA (D. M.).|| |020302|VILLARPANDO (D. M.).|| |020303|HATO NUEVO CORT�S (D. M.).|| |020400|MUNICIPIO PADRE LAS CASAS|| |020401|PADRE LAS CASAS (D. M.).|| |020402|LAS LAGUNAS (D. M.).|| |020403|LA SIEMBRA (D. M.).|| |020404|MONTE BONITO (D. M.).|| |020405|LOS FR�OS (D. M.).|| |020500|MUNICIPIO PERALTA|| |020501|PERALTA (D. M.).|| |020600|MUNICIPIO SABANA YEGUA|| |020601|SABANA YEGUA (D. M.).|| |020602|PROYECTO 4 (D. M.).|| |020603|GANADERO (D. M.).|| |020604|PROYECTO 2-C (D. M.).|| |020700|MUNICIPIO PUEBLO VIEJO|| |020701|PUEBLO VIEJO (D. M.).|| |020702|EL ROSARIO (D. M.).|| |020800|MUNICIPIO T�BARA ARRIBA|| |020801|T�BARA ARRIBA (D. M.).|| |020802|T�BARA ABAJO (D. M.).|| |020803|AMIAMA G�MEZ (D. M.).|| |020804|LOS TOROS (D. M.).|| |020900|MUNICIPIO GUAYABAL|| |020901|GUAYABAL (D. M.).|| |021000|MUNICIPIO ESTEBAN�A|| |021001|ESTEBAN�A (D. M.).|| |030000|PROVINCIA BAHORUCO|| |030001|MUNICIPIO NEIBA|| |030101|NEIBA (D. M.).|| |030102|EL PALMAR (D. M.).|| |030200|MUNICIPIO GALV�N|| |030201|GALV�N (D. M.).|| |030202|EL SALADO (D. M.).|| |030300|MUNICIPIO TAMAYO|| |030301|TAMAYO (D. M.).|| |030302|UVILLA (D. M.).|| |030303|SANTANA (D. M.).|| |030304|MONSERRATE (MONTSERRAT) (D. M.).|| |030305|CABEZA DE TORO (D. M.).|| |030306|MENA (D. M.).|| |030307|SANTA B�RBARA EL 6 (D. M.).|| |030400|MUNICIPIO VILLA JARAGUA|| |030401|VILLA JARAGUA (D. M.).|| |030500|MUNICIPIO LOS R�OS|| |030501|LOS R�OS (D. M.).|| |030502|LAS CLAVELLINAS (D. M.).|| |040000|PROVINCIA BARAHONA|| |040100|MUNICIPIO BARAHONA|| |040101|BARAHONA (D. M.).|| |040102|EL CACH�N (D. M.).|| |040103|LA GU�ZARA (D. M.).|| |040104|VILLA CENTRAL (D. M.).|| |040200|MUNICIPIO CABRAL|| |040201|CABRAL (D. M.).|| |040300|MUNICIPIO ENRIQUILLO|| |040301|ENRIQUILLO (D. M.).|| |040302|ARROYO DULCE (D. M.).|| |040400|MUNICIPIO PARA�SO|| |040401|PARA�SO (D. M.).|| |040402|LOS PATOS (D. M.).|| |040500|MUNICIPIO VICENTE NOBLE|| |040501|VICENTE NOBLE (D. M.).|| |040502|CANOA (D. M.).|| |040503|QUITA CORAZA (D. M.).|| |040504|FONDO NEGRO (D. M.).|| |040600|MUNICIPIO EL PE��N|| |040601|EL PE��N (D. M.).|| |040700|MUNICIPIO LA CI�NAGA|| |040701|LA CI�NAGA (D. M.).|| |040702|BAHORUCO (D. M.).|| |040800|MUNICIPIO FUNDACI�N|| |040801|FUNDACI�N (D. M.).|| |040802|PESCADER�A (D. M.).|| |040900|MUNICIPIO LAS SALINAS|| |040901|LAS SALINAS (D. M.).|| |041000|MUNICIPIO POLO|| |041001|POLO (D. M.).|| |041100|MUNICIPIO JAQUIMEYES|| |041101|JAQUIMEYES (D. M.).|| |041102|PALO ALTO (D. M.).|| |050000|PROVINCIA DAJAB�N|| |050100|MUNICIPIO DAJAB�N|| |050101|DAJAB�N (D. M.).|| |050102|CA�ONGO (D. M.).|| |050200|MUNICIPIO LOMA DE CABRERA|| |050201|LOMA DE CABRERA (D. M.).|| |050202|CAPOTILLO (D. M.).|| |050203|SANTIAGO DE LA CRUZ (D. M.).|| |050300|MUNICIPIO PARTIDO|| |050301|PARTIDO (D. M.).|| |050400|MUNICIPIO RESTAURACI�N|| |050401|RESTAURACI�N (D. M.).|| |050500|MUNICIPIO EL PINO|| |050501|EL PINO (D. M.).|| |050502|MANUEL BUENO (D. M.).|| |060000|PROVINCIA DUARTE|| |060100|MUNICIPIO SAN FRANCISCO DE MACOR�S|| |060101|SAN FRANCISCO DE MACOR�S (D. M.).|| |060102|LA PE�A (D. M.).|| |060103|CENOV� (D. M.).|| |060104|JAYA (D. M.).|| |060105|PRESIDENTE DON ANTONIO GUZM�N FERN�NDEZ (D. M.).| |060200|MUNICIPIO ARENOSO|| |060201|ARENOSO (D. M.).|| |060202|LAS COLES (D. M.).|| |060203|EL AGUACATE (D. M.).|| |060300|MUNICIPIO CASTILLO|| |060301|CASTILLO (D. M.).|| |060400|MUNICIPIO PIMENTEL|| |060401|PIMENTEL (D. M.).|| |060500|MUNICIPIO VILLA RIVA|| |060501|VILLA RIVA (D. M.).|| |060502|AGUA SANTA DEL YUNA (D. M.).|| |060503|CRISTO REY DE GUARAGUAO (D. M.).|| |060504|LAS TARANAS (D. M.).|| |060505|BARRAQUITO (D. M.).|| |060600|MUNICIPIO LAS GU�RANAS|| |060601|LAS GU�RANAS (D. M.).|| |060700|MUNICIPIO EUGENIO MAR�A DE HOSTOS|| |060701|EUGENIO MAR�A DE HOSTOS (D. M.).|| |060702|SABANA GRANDE (D. M.).|| |070000|PROVINCIA EL�AS PI�A|| |070100|MUNICIPIO COMENDADOR|| |070101|COMENDADOR (D. M.).|| |070102|SABANA LARGA (D. M.).|| |070103|GUAYABO (D. M.).|| |070200|MUNICIPIO B�NICA|| |070201|B�NICA (D. M.).|| |070202|SABANA CRUZ (D. M.).|| |070203|SABANA HIG�ERO (D. M.).|| |070300|MUNICIPIO EL LLANO|| |070301|EL LLANO (D. M.).|| |070302|GUANITO (D. M.).|| |070400|MUNICIPIO HONDO VALLE|| |070401|HONDO VALLE (D. M.).|| |070402|RANCHO DE LA GUARDIA (D. M.).|| |070500|MUNICIPIO PEDRO SANTANA|| |070501|PEDRO SANTANA (D. M.).|| |070502|R�O LIMPIO (D. M.).|| |070600|MUNICIPIO JUAN SANTIAGO|| |070601|JUAN SANTIAGO (D. M.).|| |080000|PROVINCIA EL SEIBO|| |080100|MUNICIPIO EL SEIBO|| |080101|EL SEIBO (D. M.).|| |080102|PEDRO S�NCHEZ (D. M.).|| |080103|SAN FRANCISCO-VICENTILLO (D. M.).|| |080104|SANTA LUC�A (D. M.).|| |080200|MUNICIPIO MICHES|| |080201|MICHES (D. M.).|| |080202|EL CEDRO (D. M.).|| |080203|LA GINA (D. M.).|| |090000|PROVINCIA ESPAILLAT|| |090100|MUNICIPIO MOCA|| |090101|MOCA (D. M.).|| |090102|JOS� CONTRERAS (D. M.).|| |090103|SAN V�CTOR (D. M.).|| |090104|JUAN L�PEZ (D. M.).|| |090105|LAS LAGUNAS (D. M.).|| |090106|CANCA LA REYNA (D. M.).|| |090107|EL HIG�ERITO (D. M.).|| |090108|MONTE DE LA JAGUA (D. M.).|| |090109|LA ORTEGA (D. M.).|| |090200|MUNICIPIO CAYETANO GERMOS�N|| |090201|CAYETANO GERMOS�N (D. M.).|| |090300|MUNICIPIO GASPAR HERN�NDEZ|| |090301|GASPAR HERN�NDEZ (D. M.).|| |090302|JOBA ARRIBA (D. M.).|| |090303|VERAGUA (D. M.).|| |090304|VILLA MAGANTE (D. M.).|| |090400|MUNICIPIO JAMAO AL NORTE|| |090401|JAMAO AL NORTE (D. M.).|| |100000|PROVINCIA INDEPENDENCIA|| |100100|MUNICIPIO JIMAN�|| |100101|JIMAN� (D. M.).|| |100102|EL LIM�N (D. M.).|| |100103|BOCA DE CACH�N (D. M.).|| |100200|MUNICIPIO DUVERG�|| |100201|DUVERG� (D. M.).|| |100202|VENGAN A VER (D. M.).|| |100300|MUNICIPIO LA DESCUBIERTA|| |100301|LA DESCUBIERTA (D. M.).|| |100400|MUNICIPIO POSTRER R�O|| |100401|POSTRER R�O (D. M.).||

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.14 68 11/27/2024
1.0.13 62 11/27/2024
1.0.12 70 11/26/2024
1.0.11 76 11/25/2024
1.0.10 72 11/24/2024
1.0.9 278 3/12/2024
1.0.8 171 8/22/2023
1.0.7 166 7/15/2023
1.0.6 168 7/15/2023
1.0.5 174 7/8/2023
1.0.4 148 7/4/2023
1.0.3 152 7/4/2023
1.0.2 168 7/1/2023
1.0.1 159 6/28/2023

Componente creado para consumir el servicio de facturación electrónica de DGII.

## Version 1.0.5
Se incluyen comentarios en cada uno de los tipos y sus miembros
Se crea la interfaz IDocumentosElectronicos para extender su funcionalidad.

## Version 1.0.4
Correcion de errores

## Version 1.0.3
Se crea un nuevo conjunto de Ambientes para agrupar las url's de los distintos ambientes al momento de crear
la instancia del objeto `DocumentosElectronicos`.

## Version 1.0.2
Habilitado para compatibilidad con net standard 2.0 (netstandard2.0)
Este cambio habilita la libreria para usar las versiones de .net Core y .net Framework

## Version 1.0.1
Comentarios
Se agrean comentarios para las instancias de los componentes.

Nuevo conjunto de Provincia Municipio con los valores de cada uno como cadana

Nuevo conjunto de tipo de ingresos con los valores de cada uno como cadana

Nuevo conjunto de Tipo De Pago con los valores de cada uno como cadana

Nuevo conjunto de Indicador Monto Gravado con los valores de cada uno como cadana

Se agrega la validación de los RNC o Cédulas al momento de crear el objeto `FacturaElectrónica`
Esta validación solo se hace cuando estos campos tienen algún valor, ya que cuando son Pasaportes no se aplica la validación.