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.0.14
LineaTraduccion gana la relación informativa entre líneas [R56]: IdComponente (string?, en las líneas principales) y ComponentePrincipal (string?, en las dependientes, apunta al IdComponente de su principal). Ambos opcionales, null por 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: 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
HechoEconomicoCreado gana Observaciones (string?, opcional, null por defecto), agregado al final, después de Descripcion. 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 recibe null, 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.TipoComponente y ContextoTransaccion.TipoTransaccion pasan de string a enum del paquete (TipoComponente, TipoTransaccion, en Cosmos.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 del terceroPrincipal. [R54]
ReferenciaHechoRelacionado pasa a ser por línea (en LineaTraduccion), habilitando cruces y notas crédito donde cada línea referencia un hecho distinto. Se removió de Origen. [R53]
ConceptoEconomico.Valor y LineaTraduccion.UnidadOrganizacional ahora son opcionales (la línea de contrapartida los omite).
Tipos disponibles
Evento de entrada
| Tipo |
Descripción |
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] |
HechoEconomicoRechazado |
Contabilidad informa que la traducción falló. Contiene Motivo (código estructurado) y Detalle (descripción legible). |
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). |
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, 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 |
string? |
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 HechoEconomicoRechazado
| Parámetro |
Tipo |
Descripción |
Origen |
Origen |
Datos del origen del hecho económico rechazado. |
Motivo |
MotivoRechazo |
Código estructurado del rechazo: ReferenciaOrigenDuplicadaNoReemplazable, TipoTransaccionSinPlantilla, LineaSinRolEnPlantilla, RolObligatorioSinLineas, DatosInvalidos, LineaContrapartidaFaltante, LineaConValorNoPositivo, RelacionEntreLineasInvalida. |
Detalle |
string |
Descripción legible del rechazo. |
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.