Cosmos.Contabilidad.Contratos
0.3.0
dotnet add package Cosmos.Contabilidad.Contratos --version 0.3.0
NuGet\Install-Package Cosmos.Contabilidad.Contratos -Version 0.3.0
<PackageReference Include="Cosmos.Contabilidad.Contratos" Version="0.3.0" />
<PackageVersion Include="Cosmos.Contabilidad.Contratos" Version="0.3.0" />
<PackageReference Include="Cosmos.Contabilidad.Contratos" />
paket add Cosmos.Contabilidad.Contratos --version 0.3.0
#r "nuget: Cosmos.Contabilidad.Contratos, 0.3.0"
#:package Cosmos.Contabilidad.Contratos@0.3.0
#addin nuget:?package=Cosmos.Contabilidad.Contratos&version=0.3.0
#tool nuget:?package=Cosmos.Contabilidad.Contratos&version=0.3.0
Cosmos.Contabilidad.Contratos
Contratos del sub-dominio de Contabilidad del ERP Cosmos. Este paquete contiene los records para comunicarse con el Motor de Traducción (N1) y recibir resultados de contabilización. Es agnóstico al transporte — no trae dependencias de mensajería.
Si usas Wolverine, instala además Cosmos.Contabilidad.Mensajeria para obtener el método de extensión HabilitarContabilidad.
Instalación
dotnet add package Cosmos.Contabilidad.Contratos
Novedades v0.3.0
Nuevo
SolicitarSuspensionHechoEconomico(Origen, Motivo, UsuarioId)(evento de entrada): el emisor pide suspender el borrador de su hecho económico (por ejemplo, porque va a corregir el documento y reenviarlo). Se valida al construirse, también conwith: origen obligatorio, yMotivoyUsuarioIdno pueden ser nulos, vacíos ni espacios (ArgumentException).Dos respuestas nuevas (eventos de salida):
SuspensionHechoEconomicoRealizada(Origen, Fecha)cuando quedó suspendido (también si el hecho no existe o ya estaba suspendido), ySuspensionHechoEconomicoRechazada(Origen, MotivoCodigo, MotivoDetalle, Fecha)cuando no se puede.MotivosRechazoSuspensionviaja como número; los valores son explícitos y nunca se reordenan:Valor Motivo Tipo Qué hace el emisor 1BorradorEnEnvioTransitorio El borrador está en envío al sistema contable; si este lo rechaza se podrá suspender. Reintentar más tarde. 2HechoContabilizadoDefinitivo El asiento ya está contabilizado; no se suspende, se anula en el sistema contable. Canal: el mismo de hoy. La solicitud entra por el forward y las respuestas salen por el reverse (
contabilidad-respuestas); no hace falta topic ni suscripción nuevos.Cambio aditivo: quien compila contra 0.2.0 sigue compilando y no necesita actualizar si no usa la suspensión.
Orden de despliegue: Contabilidad antes de que el emisor empiece a enviar la solicitud; si el emisor se adelanta, la solicitud no tiene quién la atienda.
Novedades v0.2.0
- Nuevo VO
ReferenciaDeHecho(Tipo, Id)(cambio que rompe compilación): reemplaza el texto enOrigen.ReferenciaOrigen(string→ReferenciaDeHecho) y enLineaTraduccion.ReferenciaHechoRelacionado(string?→ReferenciaDeHecho?). El emisor entrega el tipo del hecho (comercio,anticipo, …) y su id (Guid) por separado; el texto"{tipo}-{id}"lo arma Contabilidad conToString(), así que el emisor ya no necesita conocer ese formato. Tipose guarda en minúsculas y no puede estar vacío ni contener-;Idno puede serGuid.Empty.ReferenciaDeHecho.Parse("comercio-<guid>")lee el texto.- Por el bus viaja como objeto:
{"Tipo":"comercio","Id":"<guid>"}. Un mensaje 0.1.0 (referencia como texto) no se lee con 0.2.0 ni al revés. - Migración del emisor:
new Origen("comercio-" + id, …)→new Origen(new ReferenciaDeHecho("comercio", id), …); igual enReferenciaHechoRelacionado. EnHechoEconomicoRecibidoyHechoEconomicoContabilizado, elOrigen.ReferenciaOrigenllega comoReferenciaDeHecho: el emisor la empata porTipoeId, o porToString(). - Despliegue coordinado, con la cola vacía: Contabilidad y el emisor salen con 0.2.0 a la vez.
Novedades v0.1.0
- Nuevo
HechoEconomicoRecibido(Origen, Fecha): el acuse. Contabilidad lo publica en cuanto guarda el hecho, por el mismo topic de respuestas (contabilidad-respuestas). Dice "Contabilidad lo tiene"; no dice si se tradujo ni si se contabilizó. - Eliminado
HechoEconomicoRechazado(yMotivoRechazo): Contabilidad ya no le devuelve rechazos al emisor. Lo que no puede traducir queda en su propia bandeja, con su motivo, y lo resuelve Contabilidad. Al emisor solo le llegan el acuse yHechoEconomicoContabilizado. - Validación en los constructores (cambio de comportamiento): armar un record con datos que el contrato no admite
lanza
ArgumentExceptionen elnew, y también conwith. Se valida: origen con referencia y subdominio; hecho con origen, transacción y al menos una línea; transacción con tercero principal; tercero con nombre no vacío e identificación; línea con concepto y tercero; valor nunca negativo. "Nulo solo en la contrapartida" lo valida Contabilidad, porque depende de la plantilla. - Orden de despliegue: (1) publicar 0.1.0; (2) desplegar Contabilidad; (3) desplegar el emisor con 0.1.0 completo:
consumir el acuse, quitar su consumer de
HechoEconomicoRechazadoy asegurar que sus mappers no armen datos que el constructor rechace. No hace falta topic ni suscripción nuevos.
Novedades v0.0.14
LineaTraducciongana la relación informativa entre líneas [R56]:IdComponente(string?, en las líneas principales) yComponentePrincipal(string?, en las dependientes, apunta alIdComponentede su principal). Ambos opcionales,nullpor defecto y agregados al final. Contabilidad no los interpreta: los compara como texto exacto, los copia a cada partida del borrador y no cambian cuentas, terceros, unidades ni valores.- Nuevo motivo de rechazo
MotivoRechazo.RelacionEntreLineasInvalida(eliminado en 0.1.0): la relación enviada es incoherente (dependiente sin principal, una línea con ambos campos, contrapartida con alguno, etc.). - Cambio aditivo: quien compila contra 0.0.13 sigue compilando, y un mensaje sin los campos se lee con ambos en
null(líneas sueltas). El emisor no está obligado a actualizar.
Novedades v0.0.13
HechoEconomicoCreadoganaObservaciones(string?, opcional,nullpor defecto), agregado al final, después deDescripcion. Es texto libre que el emisor quiere que llegue al sistema contable destino (SincoA&F) como observaciones del documento. Contabilidad lo reenvía sin transformarlo: lo guarda en el borrador, lo expone en la vista y lo entrega a AyF.- Cambio aditivo: quien compila contra 0.0.12 sigue compilando, y un mensaje sin el campo se lee con
Observaciones = null(AyF recibenull, como hasta ahora). El emisor no está obligado a actualizar. - Orden de despliegue: Contabilidad antes que el emisor. Al revés no falla, pero las observaciones que mande el emisor se pierden en silencio.
Novedades v0.0.11
ConceptoEconomico.TipoComponenteyContextoTransaccion.TipoTransaccionpasan destringa enum del paquete (TipoComponente,TipoTransaccion, enCosmos.Contabilidad.Contratos.ServicioDeTraduccion.Modelos). Los enums son el catálogo publicado: un emisor solo puede nombrar tipos que Contabilidad conoce.- Viajan por el bus como valor numérico, igual que los demás contratos Cosmos. Los valores son explícitos y nunca se reordenan, reutilizan ni borran; un tipo nuevo exige una versión nueva del paquete.
- El emisor debe migrar sus literales al enum (
"cruce_obligacion"→TipoComponente.CruceObligacion,"causacion_gasto"→TipoTransaccion.CausacionGasto). - El formato del mensaje cambia respecto a 0.0.10: antes el campo viajaba como texto (
"cruce_obligacion"), ahora como número (17). Un mensaje 0.0.10 no se lee con 0.0.11 ni al revés, así que el despliegue de emisor y Contabilidad es coordinado, con la cola vacía.
Novedades v0.0.9
- La contrapartida viaja como una línea más (
tipoComponente = "contrapartida"): con su tercero y su clasificación, pero sin valor ni unidad organizacional — el Motor calcula el valor (balance) y asigna la unidad. Antes el Motor generaba la contrapartida a partir delterceroPrincipal. [R54] ReferenciaHechoRelacionadopasa a ser por línea (enLineaTraduccion), habilitando cruces y notas crédito donde cada línea referencia un hecho distinto. Se removió deOrigen. [R53]ConceptoEconomico.ValoryLineaTraduccion.UnidadOrganizacionalahora son opcionales (la línea de contrapartida los omite).
Tipos disponibles
Evento de entrada
| Tipo | Descripción |
|---|---|
SolicitarSuspensionHechoEconomico |
Desde 0.3.0. El emisor pide suspender el borrador de su hecho económico. Lleva Origen, Motivo y UsuarioId, los tres obligatorios. |
HechoEconomicoCreado |
Evento que envía las líneas de traducción de un hecho económico a Contabilidad para generar un borrador contable. Los sub-dominios transaccionales (OXP, CXC, Tesorería, etc.) lo publican cuando ocurre un hecho económico con impacto contable. |
Eventos de salida
| Tipo | Descripción |
|---|---|
HechoEconomicoContabilizado |
Contabilidad informa que el destino (SincoA&F) aceptó el borrador. Contiene el Origen y la referencia al asiento en el destino. [R17] |
SuspensionHechoEconomicoRealizada |
Desde 0.3.0. El borrador quedó suspendido. Contiene el Origen y la Fecha. |
SuspensionHechoEconomicoRechazada |
Desde 0.3.0. No se pudo suspender. Contiene el Origen, MotivoCodigo (MotivosRechazoSuspension), MotivoDetalle y Fecha. |
HechoEconomicoRecibido |
Acuse: Contabilidad informa que guardó el hecho económico. Contiene el Origen y la Fecha en que lo guardó. No dice si se tradujo ni si se contabilizó. |
Modelos del contrato estandarizado
| Tipo | Descripción |
|---|---|
LineaTraduccion |
Unidad mínima de información que un sub-dominio emite para ser traducida a contabilidad. Contiene ConceptoEconomico, Tercero, UnidadOrganizacional (opcional) y ReferenciaHechoRelacionado (opcional, por línea). |
ReferenciaDeHecho |
Identifica un hecho del emisor: Tipo (p. ej. comercio, anticipo) e Id (Guid). Contabilidad arma el texto "{tipo}-{id}" (desde 0.2.0). |
ConceptoEconomico |
TipoComponente (enum TipoComponente: Gasto, Iva, Retefuente, Contrapartida, …; viaja como número), Clasificacion (texto semántico de emparejamiento) y Valor (opcional — la línea de contrapartida no lo trae; lo calcula el Motor). |
DatosTercero |
Nombre e identificación legal del tercero. |
ContextoTransaccion |
Tipo de transacción (enum TipoTransaccion: CausacionGasto, NotaCreditoGasto, …; viaja como número), empresa, moneda, fecha y TerceroPrincipal. El TerceroPrincipal es el tercero del documento que envía el emisor (proveedor en causación/anticipo/nota crédito, banco/emisor en el extracto). Es informativo del hecho — el tercero de la contrapartida viaja en su propia línea. |
Origen |
Referencia de origen única (ReferenciaDeHecho), sub-dominio y documento fuente. |
Parámetros de HechoEconomicoCreado
| Parámetro | Tipo | Descripción |
|---|---|---|
Origen |
Origen |
Referencia de origen única, sub-dominio y documento fuente del hecho económico. |
Transaccion |
ContextoTransaccion |
Tipo de transacción (enum TipoTransaccion: CausacionGasto, NotaCreditoGasto, …; viaja como número), empresa, moneda, fecha y tercero principal (informativo). |
Lineas |
IReadOnlyList<LineaTraduccion> |
Líneas de traducción del hecho económico, todas de la misma empresa, moneda y referencia de origen. Cuando la plantilla del tipo de transacción tiene rol de contrapartida, debe incluirse exactamente una línea contrapartida. |
Descripcion |
string? |
Descripción general del hecho económico (opcional). |
Observaciones |
string? |
Observaciones del documento para el sistema contable destino (opcional, desde 0.0.13). Contabilidad las reenvía tal cual llegan. |
Parámetros de la LineaTraduccion
| Parámetro | Tipo | Descripción |
|---|---|---|
ConceptoEconomico |
ConceptoEconomico |
Tipo de componente, clasificación y valor (opcional). |
Tercero |
DatosTercero |
Tercero de la línea. En la línea de contrapartida es el tercero de la cuenta por pagar (proveedor, banco/emisor). |
UnidadOrganizacional |
string? |
Unidad organizacional de la línea. La línea de contrapartida la omite (la asigna el Motor). |
ReferenciaHechoRelacionado |
ReferenciaDeHecho? |
Referencia al hecho económico original cuando la línea deriva de otro (cruce, nota crédito, amortización). Habilita la resolución por espejo. null en hechos originales. |
IdComponente |
string? |
Solo en líneas principales: identifica el componente del hecho (desde 0.0.14). Si el componente se distribuye en varias líneas, todas llevan el mismo valor. |
ComponentePrincipal |
string? |
Solo en líneas dependientes: el IdComponente de su principal (desde 0.0.14). Nunca junto con IdComponente; la contrapartida no lleva ninguno. |
Parámetros de HechoEconomicoContabilizado
| Parámetro | Tipo | Descripción |
|---|---|---|
Origen |
Origen |
Referencia, sub-dominio y documento fuente. |
ReferenciaDestino |
string |
Consecutivo o comprobante asignado por el sistema contable de destino (SincoA&F). |
Destino |
string |
Sistema contable que aceptó (ej: AYF). |
Parámetros de HechoEconomicoRecibido
| Parámetro | Tipo | Descripción |
|---|---|---|
Origen |
Origen |
El mismo origen del HechoEconomicoCreado que se acusa. |
Fecha |
DateTime |
Cuándo lo guardó Contabilidad (UTC). |
Dependencias
| Paquete | Propósito |
|---|---|
Cosmos.EventDriven.Abstractions |
Interfaz IPublicEvent para eventos que viajan por RabbitMQ. |
Cosmos.Types |
Tipo Moneda para el contexto de transacción. |
Cosmos.Types.IdentificacionesLegales |
Identificación legal del tercero. |
Cosmos.Types.Paises |
País de la identificación legal. |
Licencia
Software propietario © 2026 Sincosoft. Todos los derechos reservados.
| 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.1.0)
- Cosmos.Types (>= 1.2.0)
- Cosmos.Types.IdentificacionesLegales (>= 1.3.0)
- Cosmos.Types.Paises (>= 1.1.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Cosmos.Contabilidad.Contratos:
| Package | Downloads |
|---|---|
|
Cosmos.Contabilidad.Mensajeria
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0 | 121 | 10/24/2026 |
| 0.2.0 | 91 | 10/21/2026 |
| 0.1.0 | 161 | 10/16/2026 |
| 0.0.15 | 145 | 10/13/2026 |
| 0.0.14 | 369 | 10/5/2026 |
| 0.0.13 | 86 | 10/5/2026 |
| 0.0.11 | 380 | 9/25/2026 |
| 0.0.10-beta.1 | 194 | 9/17/2026 |
| 0.0.9-beta.1 | 391 | 7/22/2026 |
| 0.0.8 | 268 | 7/1/2026 |
| 0.0.7 | 196 | 7/1/2026 |
| 0.0.6 | 337 | 6/9/2026 |
| 0.0.5 | 212 | 6/2/2026 |
| 0.0.4 | 162 | 6/2/2026 |
| 0.0.4-beta.1 | 108 | 5/29/2026 |
| 0.0.3-beta.4 | 298 | 5/6/2026 |
| 0.0.3-beta.3 | 79 | 5/6/2026 |
| 0.0.3-beta.2 | 105 | 5/5/2026 |
| 0.0.3-beta.1 | 82 | 5/5/2026 |
| 0.0.3-beta | 118 | 5/5/2026 |