Mejorar la facturación de Dynamics CRM
Dynamics CRM Online, el sistema CRM de Microsoft en la nube, proporciona a las empresas un rosario de soluciones para una adecuada gestión de su relación con los clientes, aunque no tanto por sus características básicas como por las herramientas de personalización que Microsoft pone a disposición de las empresas. Con esta libertad de personalización, Ms pretende amoldar su tecnología a las necesidades específicas de cada empresa, optimizarla y lograr que obtengan el máximo beneficio de ella. En definitiva, garantizar la mejor experiencia.
Nuestro cometido como técnicos informáticos es ser críticos con toda la tecnología que pasa por nuestras manos, sobre todo porque de nuestra experiencia depende que ésta acabe sirviendo a algunos de nuestros clientes. Por eso aunque es loable el objetivo de Microsoft debemos admitir que lo consigue sólo hasta cierto punto. Uno de los peros de Dynamics CRM es su sistema de facturación. Tiene la entidad ‘Factura’ y ésta almacena toda la información relativa a la facturación, pero precisaría algunas mejoras más.
Por ejemplo, se echa en falta la opción de imprimir la factura de alguna manera para enviársela al cliente. Se entiende la falta de esta funcionalidad porque normalmente las facturas de cada empresa son personalizadas, pero poder imprimir un formato estándar no hubiera estado de más. En este artículo te proponemos tres soluciones a carencias del sistema de facturación de Dynamics con los que nosotros nos hemos topado.
1. Impresión de facturación de Dynamics CRM
Ya he comentado en otros artículos el potencial de poder conectarse a CRM desde una web usando PHP. La librería curl nos permite el envío de mensajería SOAP al servicio web de CRM y ello a su vez permite el intercambio de información entre CRM y web.
Volviendo al centro de este artículo, las carencias en el sistema de facturas de Dynamics CRM y, en concreto, a la imposibilidad de imprimir facturas, lo solucionaremos diseñando un sistema de impresión de facturas por navegador web. Con la ayuda de HTML5 y CSS3 no resulta complicado dar un formato profesional a una factura. Además, es posible ajustarlo al tamaño Din A4. ¿Cómo?
- Una vez creado el “esqueleto” de la factura en forma de página web, rellenar la factura con datos de CRM.
- La URL te da el ID de la factura en CRM, de manera que es sencillo hacer una query sobre esta ID para recibir datos.
- Controlando el tamaño de estos datos y asegurándote de que el código HTML reaccione bien, añade un pequeño JavaScript para que en el momento de abrir la URL se automatice la impresión.
Quizá este sistema parezca complejo si tenemos en cuenta que hay que acceder a una URL, conociendo el ID de una factura para poder imprimirla. Pero, ¿y si hacemos que esta URL se genere automáticamente para cada factura en el CRM?
Esto se consigue añadiendo un nuevo campo a la entidad de Factura y un JavaScript en los formularios de Factura que se ejecute en el momento de creación del formulario. Este JavaScript tendrá la tarea de rellenar el nuevo campo con la URL fija que hayamos decidido más el ID de factura como argumento. De esta manera, podemos ver una factura en CRM y con un solo clic en un campo, se nos abrirá una nueva pestaña con la opción de imprimirla en nuestro formato.
2. Numeración de las facturas
El siguiente obstáculo con el que nos topamos en el sistema de facturación de CRM es la numeración de las facturas. CRM nos ofrece un ID aleatorio, pero la facturación exige una secuencia numérica consecutiva. Y, en casos de facturas especiales, una secuencia numérica distinta al resto.
Esto se solucionará con un plug-in diseñado en C# y subido a CRM usando el Plugin Registration Tool (lo encontrarás en el SDK de CRM). Este plug-in se encargará de comprobar cuál es el último número de la secuencia numérica de las facturas, y asignarlo a cada factura creada, de manera que se automatiza este sistema.
3. Exportar facturas
Finalmente, la última funcionalidad que queremos añadir a nuestro CRM es la posibilidad de exportar facturas a un programa de contabilidad. En nuestro caso, hacemos la exportación a ContaPlus de Sage, pero este método es extrapolable a cualquier sistema que admita la importación de datos desde ficheros de texto.
Para ello tendrás que apoyarte en dos entidades nuevas que deberás crear:
- Exportar Facturas. Esta es la entidad que se encargará de hacer la exportación de los datos. Posee dos campos de fecha para marcar la de inicio de facturación y la de finalización. En esta entidad se ejecutará el plug-in.
- Facturas exportadas. Esta entidad se encarga de hacer de intermediaria entre la entidad ‘Exportar facturas’ y ‘Facturas’. Hace de vínculo de unión y guarda un registro por cada factura exportada en una exportación.
Tras crear ambas entidades, sólo falta crear un plug-in que se ejecute con la entidad Exportar Facturas. Este plug-in se encargará de escoger las facturas cuya fecha de emisión se encuentre entre el rango establecido por Exportar Facturas y extraerá de ellas los datos necesarios y los almacenará en el formato específico de ContaPlus en un fichero de texto. El fichero se guardará como nota adjunta en la entidad Exportar Facturas.
Este fichero de texto se puede luego importar al software de contabilidad y así llevar las cuentas de la empresa desde las facturas del CRM.
Si quieres obtener más información o pedirnos que implementamos Dynamics CRM en tu empresa, no dudes en ponerte en contacto con nosotros o escribirnos un comentario en este mismo post. Nuestros técnicos informáticos estarán encantados de resolver tus dudas.