Skip to content

Librería que integra utilidades y herramientas aplicables a la facturación electrónica. Compatible con .NET 6 y .NET 7.0

License

Notifications You must be signed in to change notification settings

lunasoft/sw-tools-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SW Tools NET

SW Sapien

Librería de clases que proporciona herramientas y utilidades aplicables para la facturación electrónica.

Contenido

Compatibilidad

Esta biblioteca es compatible con .NET 6.0 y .NET 7.0.

Características

  • Sellar CFDI: Función para sellar Comprobantes CFDI 4.0 y sus complementos.
  • Sellar Retención: Función para sellar Comprobantes de Retenciones 2.0 y sus complementos.
  • Firmar XML: Función para generar y agregar el signature a documentos XML.
  • Crear PFX: Función para crear un certificado PFX.

Instalación

Nuget Package

Para utilizar esta librería en tu proyecto, puedes instalarla a través de NuGet Package Manager. Ejecuta el siguiente comando en la consola de NuGet:

Por el momento no se encuentra disponible esta opción.

Referencia

También puedes agregar la librería manualmente como referencia en tu proyecto. Sigue las siguientes instrucciones:

1. Descargar compilado DLL:

  • Ve a la sección Releases de este repositorio.
  • Selecciona la versión que deseas agregar, haz clic en la sección "Assets" y selecciona el .zip con el nombre sw-tools-net para descargar el compilado.

2. Descomprimir el archivo ZIP:

  • Descomprime el archivo ZIP descargado en una ubicación de tu elección en tu sistema.

3. Añadir Referencias a tu Proyecto:

  • Abre tu proyecto.

  • Haz clic con el botón derecho en tu proyecto en el Explorador de Soluciones y selecciona "Agregar", se desplegará un menú y deberás seleccionar "Referencia De Proyecto".

  • En la ventana que se abrió, haz clic en "Examinar" y navega a la ubicación donde descomprimiste la biblioteca. Dentro de la carpeta, busca el archivo DLL correspondiente y selecciona "Aceptar".

  • Asegúrate de que la referencia se agregue correctamente a tu proyecto.

Uso

El response de cada una de las funciones es un objeto de una clase heredada que siempre contendrá los siguientes miembros:

  • Status: Valor success o error, dependiendo del resultado de la operación.
  • Message: Si Status igual a error, Message contendrá un valor con información del error.
  • Data: Si Status igual a success, el valor será un objeto que contendrá miembros dependiendo de la función que se esté consumiendo.
public class BaseResponse<T>
{
    public string Status { get; private set; }
    public string Message { get; private set; }
    public T Data { get; private set; }
}

Sellar CFDI

using SW.Tools.Services.Sign;

string cfdi = Resource.GetInvoice("cfdi40.xml");
byte[] pfx = Resource.GetPfx("h&e951128469.pfx");
string password = "12345678a";

Sign sign = new();
var result = sign.SignCfdi(cfdi, pfx, password);

var signedCfdi = result.Data.Xml;

Sellar Retención

using SW.Tools.Services.Sign;

string retention = Resource.GetInvoice("retention20.xml");
byte[] pfx = Resource.GetPfx("h&e951128469.pfx");
string password = "12345678a";

Sign sign = new();
var result = sign.SignRetention(retention, pfx, password);

var signedRetencion = result.Data.Xml;

Crear PFX

using SW.Tools.Services.Certificate;

byte[] bytesCer = File.ReadAllBytes("h&e951128469.cer");
byte[] bytesKey = File.ReadAllBytes("h&e951128469.key");
string passwordCer = "12345678a";

Certificate certificate = new();
var result = certificate.CreatePfx(bytesCer, bytesKey, passwordCer);
var pfx = result.Data.Pfx;

Contribuir

Si deseas contribuir, puedes hacerlo a través de pull requests y reportando el issue aqui.

Si requieres soporte, envíanos un correo a [email protected].

Creadores

Aeyrton Villalobos

Licencia

Este proyecto se distribuye bajo los términos de la Licencia Pública General de GNU, versión 3.

Para obtener una copia completa del texto de la licencia, consulte el archivo LICENSE incluido en este repositorio.

About

Librería que integra utilidades y herramientas aplicables a la facturación electrónica. Compatible con .NET 6 y .NET 7.0

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •