Cartera clientes Fecha cobro

En A3 no hay un listado que nos indique la fecha de cobro de las facturas.

Y mucho menos si sus efectos se han usado en una agrupación.

Como a efectos de auditoria y estadística nos puede interesar sabe el plazo de cobro entre la fecha de vencimiento y la fecha real, he creado una consulta en Access que nos da esta información

  • Fecha de la factura
  • Vencimiento
  • Fecha de cobro: tanto si el efectos se ha usado en una agrupación como si no.

Mapa de relaciones

Función Fecha cobro

Conmutador([dbo_ASOFT_CARTERA].[PAGADO]=”F”;””;[dbo_ASOFT_CARTERA].[PADREAGRU]<>0;SiInm([dbo_ASOFT_CARTERA_1].[PAGADO]=”F”;””;[dbo_ASOFT_CARTERA_1].[FECHAEFECTIVA]);[dbo_ASOFT_CARTERA].[PAGADO]=”T”;[dbo_ASOFT_CARTERA].[FECHAEFECTIVA])

Explicación

  • Si PAGADO es F, no hay fecha cobro
  • Si hay PADREAGRU, es que se ha añadido en una agrupación, entonces hay que mirar si la agrupación tiene PAGADO = T, en cuyo caso la fecha de cobro es la FECHAEFECTIVA de la agrupación
  • Si PAGADO es T, la fecha de cobro es la FECHAEFECTIVA de la cartera

Notas

Hay que montarlo así para no incluir las devoluciones que sorprendentemente tiene FECHAEFECTIVA

No se incluye el caso que una agrupación haya sido devuelta, pues habría que crear una recursividad

Consulta en Access

SELECT dbo_ASOFT_CARTERA.CODCLI, dbo_ASOFT_CARTERA.NOMBRE, SituacionCarteraClientes([dbo_ASOFT_CARTERA].[PAGADO],[dbo___REMESAS].[NUMDOC],[dbo_ASOFT_CARTERA].[FECHAEFECTIVA],[dbo_ASOFT_CARTERA].[FECHADEVOL],[dbo_ASOFT_CARTERA].[PADREDEV],[dbo___AGRUPACIONES].[NUMDOCAGR]) AS Situación, dbo_DOCUPAGO.DESCDOC AS [Documento de pago], IIf([dbo_ASOFT_CARTERA].[PROCEDE]=”AG”,”Agr.”,”Fra.”) & [dbo_ASOFT_CARTERA].[SERIE] & “/” & [dbo_ASOFT_CARTERA].[NUMDOC] AS Documento, dbo_ASOFT_CARTERA.FECHAFACTURA AS [Fecha factura], dbo_ASOFT_CARTERA.FECHA AS Vencimiento, dbo_ASOFT_CARTERA.IMPORTE AS Importe, IIf([dbo_ASOFT_CARTERA].[PAGADO]=”F”,[dbo_ASOFT_CARTERA].[IMPORTE],0) AS Pendiente

FROM (((dbo_ASOFT_CARTERA LEFT JOIN dbo___REMESAS ON dbo_ASOFT_CARTERA.PADREREME = dbo___REMESAS.IDREMESA) INNER JOIN dbo_DOCUPAGO ON dbo_ASOFT_CARTERA.DOCPAG = dbo_DOCUPAGO.DOCPAG) LEFT JOIN dbo___AGRUPACIONES ON dbo_ASOFT_CARTERA.PADREAGRU = dbo___AGRUPACIONES.NUMAGRU) LEFT JOIN dbo_ASOFT_CARTERA AS dbo_ASOFT_CARTERA_1 ON dbo___AGRUPACIONES.NUMCARTERA = dbo_ASOFT_CARTERA_1.NUMCARTERA

ORDER BY dbo_ASOFT_CARTERA.CODCLI;

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.