ObligacionesPorPagar.Entradas.Contratos
5.3.0
dotnet add package ObligacionesPorPagar.Entradas.Contratos --version 5.3.0
NuGet\Install-Package ObligacionesPorPagar.Entradas.Contratos -Version 5.3.0
<PackageReference Include="ObligacionesPorPagar.Entradas.Contratos" Version="5.3.0" />
<PackageVersion Include="ObligacionesPorPagar.Entradas.Contratos" Version="5.3.0" />
<PackageReference Include="ObligacionesPorPagar.Entradas.Contratos" />
paket add ObligacionesPorPagar.Entradas.Contratos --version 5.3.0
#r "nuget: ObligacionesPorPagar.Entradas.Contratos, 5.3.0"
#:package ObligacionesPorPagar.Entradas.Contratos@5.3.0
#addin nuget:?package=ObligacionesPorPagar.Entradas.Contratos&version=5.3.0
#tool nuget:?package=ObligacionesPorPagar.Entradas.Contratos&version=5.3.0
ObligacionesPorPagar.Entradas.Contratos
Contratos de eventos públicos del módulo de Entradas de Obligaciones por Pagar (OxP). Este paquete expone los eventos de dominio y modelos compartidos necesarios para que sistemas externos reaccionen a las operaciones confirmadas en el módulo.
Instalación
dotnet add package ObligacionesPorPagar.Entradas.Contratos
Eventos disponibles
Todos los eventos implementan IPublicEvent de Cosmos.EventDriven.Abstractions.
| Evento | Descripción |
|---|---|
AnticipoConfirmado |
Se publica cuando se confirma un anticipo a un tercero. |
ComercioConfirmado |
Se publica cuando se confirma una entrada de comercio (factura, cuenta de cobro, etc.). |
DevolucionConfirmada |
Se publica cuando se confirma una devolución sobre una entrada de comercio. |
ExtractoConfirmado |
Se publica cuando se confirma un extracto bancario con sus partidas y cargos financieros. |
Modelos compartidos
Los eventos utilizan los siguientes records como componentes reutilizables:
| Modelo | Descripción |
|---|---|
InformacionTerceroEvento |
Nombre, tipo y número de identificación del tercero. |
DireccionEvento |
Dirección del tercero con códigos DANE (departamento/ciudad) y dirección completa. |
ConceptoEvento |
Línea de detalle con descripción, cantidad y valor. |
DocumentoComercioEvento |
Número y fecha del documento comercial. |
PartidaEvento |
Movimiento individual dentro de un extracto. |
CargoFinancieroEvento |
Cargo financiero asociado a un extracto (ej. cuatro por mil). |
CondicionesPagoEvento |
Condiciones de pago del documento: IdentificadorTarjeta y MedioPago (enum). |
MonedaOrigenEvento |
Moneda de origen de un movimiento de extracto: moneda, monto y tasa de cambio. |
PeriodoEvento |
Rango de fechas (desde/hasta). |
StorageInfo |
Referencia a un archivo en almacenamiento (container/key). Tipo canónico del shared-kernel Cosmos.Storage.Types. |
ClasificacionTributaria |
Catálogo de clasificación tributaria del país: Codigo, Nombre, Descripcion. |
Cambios 5.3.0
Tipo y confiabilidad de los impuestos, para que el radicador compare contra el motor de Impuestos sin falsos avisos. Todo aditivo: un consumidor en 5.2.x ignora los campos nuevos.
ImpuestoEvento.Tipo— nuevo,TipoImpuesto?(Iva,Inc,Otro), último parámetro con defaultnull. Tipo canónico del impuesto, independiente de cómo lo escribeNombre.Otro= no comparable por tipo.- Desde Reconocimiento: el que elige el reconocedor.
- Desde Recepción Electrónica: el código de tributo DIAN (
01→Iva,04→Inc, cualquier otro →Otro). null= no informado: evento anterior, impuesto de RE sin código, o un valor que este contrato aún no conoce.
TotalEvento.VerificacionImpuestos— nuevo,VerificacionImpuestos?(Cuadra,NoCuadra,SinCifras), último parámetro con defaultnull. Indica siTotal.ImpuestosexplicaTotalAPagar − Subtotalimpresos (tolerancia 1 % del total). Solo lo informa el Comercio de Reconocimiento;null= no se evaluó (Devolución, Recepción Electrónica, eventos anteriores). Nunca se asumeCuadra.ProcedenciaImpuesto.SinVerificar— miembro nuevo al final: impuesto de línea que ninguna cifra impresa valida. Antes viajaba comonull. Aviso: unswitchsobreProcedenciaImpuestosin rama por defecto verá un valor nuevo.
Cambios 5.2.0
DocumentoParaRadicar.Notas— nuevo,string?, propiedadinit(no cambia el constructor). Notas que el emisor escribió en el documento, completas y sin recortar (pueden pasar de 4.000 caracteres, con saltos de línea): suelen ser texto legal o tributario. Recepción Electrónica las envía enComercioParaRadicaryDevolucionParaRadicar; viajan aparte deDescripcionpara que el consumidor decida dónde usarlas.null= sin notas. Aditivo: un consumidor en 5.1.x ignora el campo.ComercioParaRadicarahora también llega desde Recepción Electrónica para los documentos equivalentes (DE, p. ej. tiquetes aéreos), conDescripcion = "DE". No cambia el contrato.
Cambios 5.1.0
DocumentoParaRadicar.ArchivosAdicionales— nuevo,IReadOnlyList<StorageInfo>?, propiedadinit(no cambia el constructor). Archivos que acompañan al documento además deArchivo, que sigue siendo el principal. Recepción Electrónica envía aquí el XML de la factura (ComercioParaRadicaryDevolucionParaRadicar).null= sin adicionales. Aditivo: un consumidor en 5.0.x ignora el campo, y los archivos que traiga se pierden para él.
Cambios 5.0.0 (breaking)
ConceptoCompletoEvento.Cantidadpasó deint?adecimal?. Recepción Electrónica entrega cantidades fraccionarias (0.5 kg, 2.5 horas) que el entero truncaba. Un consumidor en 4.x no deserializa un2.5(ni un2.00) enint?: debe actualizarse antes de que Entradas publique con esta versión.ComercioParaRadicaryDevolucionParaRadicarya no incluyen conceptos conCantidadmenor o igual a 0. El concepto sin cantidad (null) se sigue entregando.
Cambios 4.5.0
CanalIngreso.RecepcionElectronica— nuevo valor, agregado al final del enum para no mover los existentes (Manual= 0,Correo= 1,RecepcionElectronica= 2). Todo documento que Entradas trae de Recepción Electrónica (ComercioParaRadicaryDevolucionParaRadicarconFuenteTipo.RecepcionElectronica) lo lleva. Un consumidor en una versión anterior recibe un valor que su enum no nombra: debe mapearlo explícitamente y no con un cast.
Cambios 4.4.0
CargoFinancieroEvento.Descripcion— nuevo,string?con defaultnull. Texto del cargo tal como lo imprimió el banco, del que Reconocimiento dedujo elTipo.nullsignifica "no informada" (eventos publicados antes de este cambio).
Cambios 4.3.0
ObligacionReclasificadaId(Guid?, al final) enComercioParaRadicar: la obligación que esta compra reemplaza (p. ej. un anticipo reclasificado como compra). Aditivo. Eco deComercioReconocido.ObligacionReclasificadaIddeObligacionesPorPagar.Reconocimiento.Contratos2.4.0;nullen el camino normal.
Cambios 4.2.0
CanalIngreso(Manual|Correo, nullable) enDocumentoParaRadicary los cuatro*ParaRadicar. Aditivo.null= documento reconocido antes deObligacionesPorPagar.Reconocimiento.Contratos2.3.0.
Cambios 4.0.0 (breaking)
Los eventos *ParaRadicar se alinearon con la estructura de ObligacionesPorPagar.Reconocimiento.Contratos 2.0.0:
- Se eliminó
Ocr(MetadatosOcr,CampoOcr,UbicacionOcr,PosicionOcr): Reconocimiento ya no emite metadatos OCR. - Se eliminó
FormaPagodeComercioParaRadicaryDevolucionParaRadicar. MedioPago(string) se reemplazó porCondicionesPago: CondicionesPagoEvento?en Comercio, Devolución y Anticipo (se eliminóMedioPagoAnticipoEvento).- En
ExtractoParaRadicar,Tarjeta(TarjetaEvento) yMedioDePago(MedioDePagoExtractoEvento) se reemplazaron porIdentificadorProductoFinanciero: string?. - En
MovimientoExtractoEvento,TasaCambio(TasaRepresentativaMercadoEvento) se reemplazó porMonedaOrigen: MonedaOrigenEvento?. DevolucionParaRadicar.ReferenciaAfectadapasó deReferenciaAfectadaEventoastring?.
Cambios 2.0.3
ComercioParaRadicar (evento interno IPrivateEvent consumido por Radicacion) transporta, opcionalmente, los catálogos tributarios del país a nivel del evento:
ClasificacionesTributarias: IReadOnlyList<ClasificacionTributaria>?— universo válido de clasificaciones.ConceptosPago: IReadOnlyList<string>?— universo válido de conceptos de pago.
Ambos son opcionales (null por defecto): solo se poblan cuando el documento ingresó con catálogos desde el flujo de Reconocimiento.
Ejemplo de uso
using ObligacionesPorPagar.Entradas.Contratos.Eventos;
// Suscribirse a un evento con Wolverine
public class CuandoComercioConfirmado : IHandler<ComercioConfirmado>
{
public Task Handle(ComercioConfirmado evento)
{
var tercero = evento.InformacionTercero.Nombre;
var valor = evento.Valor;
// Procesar la entrada confirmada...
}
}
Dependencias
| Paquete | Propósito |
|---|---|
Cosmos.EventDriven.Abstractions |
Interfaz IPublicEvent para eventos de dominio. |
Cosmos.Types |
Tipos compartidos (Dinero, Moneda, etc.). |
Licencia
Software propietario © 2026 Sincosoft. Todos los derechos reservados. Consulte el archivo LICENSE para más detalles.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Cosmos.EventDriven.Abstractions (>= 3.0.0)
- Cosmos.Storage.Types (>= 0.2.1)
- Cosmos.Types (>= 1.2.0)
- Cosmos.Types.DireccionesFisicas (>= 1.1.2)
- Cosmos.Types.IdentificacionesLegales (>= 2.0.0)
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 |
|---|---|---|
| 5.3.0 | 160 | 10/7/2026 |
| 5.2.0 | 119 | 10/6/2026 |
| 5.1.0 | 275 | 10/1/2026 |
| 5.0.0 | 186 | 9/30/2026 |
| 4.5.0 | 216 | 9/24/2026 |
| 4.4.0 | 98 | 9/24/2026 |
| 4.3.0 | 107 | 9/23/2026 |
| 4.2.0 | 133 | 9/23/2026 |
| 4.1.0 | 214 | 9/9/2026 |
| 4.0.0 | 231 | 8/26/2026 |
| 3.0.1 | 370 | 7/12/2026 |
| 3.0.0 | 238 | 7/1/2026 |
| 2.0.3 | 206 | 6/25/2026 |
| 2.0.2 | 143 | 6/19/2026 |
| 2.0.1 | 207 | 6/19/2026 |
| 2.0.0 | 184 | 6/12/2026 |
| 1.0.0 | 188 | 6/10/2026 |
| 0.0.6 | 311 | 5/22/2026 |
| 0.0.5 | 126 | 5/20/2026 |
| 0.0.4 | 505 | 4/7/2026 |