Ir al contenido principal
Todas las coleccionesECS Team ECS Team (ES)
Cerrar caja sin facturar remisiones sin conciliar
Cerrar caja sin facturar remisiones sin conciliar

Sólo para ECS Staff

R
Escrito por Rubén Mosqueda Herrera
Actualizado hace más de 10 meses

Artículo de uso exclusivo de ECS Staff

Hay remisiones que la conciliación las muestra sin pagar, esto provoca que no se pueda cerrar la caja marcando

Vemos la conciliación

Esto es lo normal porque el cliente tiene marcado check de aseguradora, (socio de negocios) lo cual esto hace que las remisiones a crédito obliguen a facturar de inmediato, el cliente debe ir a facturarlas.

En caso de que el cliente requiere dejar esas remisiones sin facturar y poder cerrar caja:

Esto es solo si requiere cerrar sin facturar:

Lo que se hace es ir al socio de negocio y quitar el check de aseguradora, y grabar, solo para que permita cerrar la caja sin facturar esas remisiones. Cuando se requiera facturar el check deberá estar activo

Ver video:

Reglas de negocio:

El mensaje en la pantalla dice:

No es posible cerrar la caja.

Existen notas de remisión sin conciliar, es decir, (una de estas dos opciones)
A)
- sin facturar
- que no hayan pasado por caja
B )
- son CxC
- que no se encuentren en un factura múltiple
- que su socio de negocios permita hacer factura consolidada

Si las remisiones CxC, no están asignadas a una factura múltiple, entonces cae el punto B.

Query para validar que no haya notas de remisión sin conciliar.

-- validamos que no haya notas de remision sin conciliar SELECT i.documentno,i.created,i.c_invoice_id FROM C_Invoice i INNER JOIN C_DocType dt ON i.C_DocTypeTarget_ID = dt.C_DocType_ID AND dt.DocBaseType = 'ARI' AND dt.docsubtypeso is null INNER JOIN C_Bpartner bp ON bp.C_BPartner_ID = i.C_BPartner_ID LEFT JOIN C_Invoice fact ON fact.Ref_Invoice_Sales_ID = i.C_Invoice_ID and fact.ad_client_id = i.ad_client_id and fact.docstatus != 'NA' -- Pueden o pudieron tener una factura relacionada WHERE fact.c_invoice_id IS NULL -- Que no esten facturadas AND i.IsActive = 'Y' -- Que este activa AND i.C_Cash_ID = ? -- De la caja AND ( i.afecta_caja = 'N' -- Todos los tipos de remision deben pasar por caja OR ( i.afecta_caja = 'Y' AND i.ispaid = 'N' and i.multiple_id is null AND bp.Consolidated = 'N' ) ) -- remisiones no pagadas y no es consolidado AND i.DocStatus NOT IN ( 'VO','RE' ) AND i.IsSOTrx = 'Y' ;

Ejemplo de query con datos (query de aquí arriba)

SELECT i.documentno,i.created,i.c_invoice_id FROM C_Invoice i INNER JOIN C_DocType dt ON i.C_DocTypeTarget_ID = dt.C_DocType_ID AND dt.DocBaseType = 'ARI' AND dt.docsubtypeso is null INNER JOIN C_Bpartner bp ON bp.C_BPartner_ID = i.C_BPartner_ID LEFT JOIN C_Invoice fact ON fact.Ref_Invoice_Sales_ID = i.C_Invoice_ID and fact.ad_client_id = i.ad_client_id and fact.docstatus != 'NA'
WHERE fact.c_invoice_id IS NULL
AND i.IsActive = 'Y'
AND i.C_Cash_ID = 15029408 AND ( i.afecta_caja = 'N'
OR ( i.afecta_caja = 'Y' AND i.ispaid = 'N' and i.multiple_id is null AND bp.Consolidated = 'N' ) )
AND i.DocStatus NOT IN ( 'VO','RE' ) AND i.IsSOTrx = 'Y' ;

pero es necesario que saques el ID del diario de caja

lo puedes sacar asi:

select c_cash_id from c_cash where secuencia=1960 and EXME_Operador_ID=10002918

select count(*) from c_allocationline where c_invoice_id=13898234

By Isidro

Muestra todas las cajas abiertas del cliente y el número de facturas pendientes de conciliar

SELECT c.C_Cash_ID, c.C_Cashbook_ID, c.EXME_Operador_id, c.Name, COUNT(*) NoInvoicesWithPendingConcilliation, SUM(i.GrandTotal) TotalInvoicesAmount FROM C_Invoice i INNER JOIN C_DocType dt ON i.C_DocTypeTarget_ID = dt.C_DocType_ID AND dt.DocBaseType = 'ARI' AND dt.docsubtypeso IS NULL INNER JOIN C_Bpartner bp ON bp.C_BPartner_ID = i.C_BPartner_ID INNER JOIN C_Cash c ON c.C_Cash_ID = i.C_Cash_ID AND c.DocStatus = 'DR' LEFT JOIN C_Invoice fact ON fact.Ref_Invoice_Sales_ID = i.C_Invoice_ID AND fact.ad_client_id = i.ad_client_id and fact.docstatus != 'NA' WHERE i.AD_Client_ID = 15000000 AND i.AD_Org_ID = 15000000 AND i.DocStatus NOT IN ('RE', 'VO') AND i.IsSOTrx = 'Y' AND fact.c_invoice_id IS NULL AND ( i.afecta_caja = 'N' OR (i.afecta_caja = 'Y' AND i.ispaid = 'N' AND i.multiple_id IS NULL AND bp.Consolidated = 'N')) GROUP BY c.C_Cash_ID, c.C_Cashbook_ID, c.EXME_Operador_id, c.Name ORDER BY c.Name

¿Ha quedado contestada tu pregunta?