Fecha de actualización: 31.may.2023 Alcance: Facturación
- ¿Cómo agrupamos los productos en Dynamics GP? (Clase o Segmento de Venta)
- ¿Cuántos tipos de documento de venta manejamos en Minigrip?
- ¿Qué son los planes de unidad de medida, cómo se usan y por qué son tan importantes?
- ¿Cuáles son las políticas y reglas de negocio que utilizamos para determinar la venta neta y la venta comercial?
- ¿Cuáles son las tablas de SQL de Dynamics GP involucradas en el proceso de facturación?
¿Cómo agrupamos los productos en Dynamics GP? (Clase o Segmento de Venta)
En Dynamics GP, en la tarjeta del artículo, existe un campo llamado Id. de clase, que se utiliza para agrupar los artículos que se facturan.
Desde la creación de un artículo es necesario definir este campo, pues no sólo agrupa los artículos, sino que, de acuerdo a ciertas reglas de negocio, nos permite saber si el monto de la transacción afecta o no a las ventas comerciales.
Las clases de GP se estandarizaron a partir de la implementación del CFDI 3.0 cuando se acordó que sólo se utilizarán aquellas que inicien con las letras MG y un guión
Cualquier otra clase diferente se considerará incorrecta o SIN DEFINIR
Id. de clase | Descripción |
MG-ANTICIP | ANTICIPOS |
MG-ARTE | ARTE Y PLACAS |
MG-BAVIMP | BOL TERMO ALTO VACIO IMP |
MG-BAVSIMP | BOL TERMO ALTO VACIO S/IMP |
MG-BOLWCK | VTACOM - BOLSA WICKET |
MG-DESP | DESPERDICIO |
MG-FONDO | VTACOM - FONDO |
MG-M&D | *** OBSOLETA NO USAR *** |
MG-MAQUILA | MAQUILA |
MG-MUESTRA | MUESTRAS |
MG-MYD | MERMA Y DESPERDICIO |
MG-NCRED | BONIFICACIONES |
MG-OTRLAM | VTACOM - OTRAS LAMINACIONES |
MG-PAB | *** OBSOLETA NO USAR *** |
MG-PABIMP | VTACOM - PAB IMPRESO |
MG-PABSYM | VTACOM - PAB SIN IMPRESION |
MG-PAÑALPF | VTACOM - POLY PAÑAL / PF |
MG-POLYCIM | VTACOM - POLY IMPRESO |
MG-POLYNGO | POLY NEGRO |
MG-POLYSIM | VTACOM - POLY SIN IMPRESION |
MG-RESINAS | RESINAS |
MG-RESINV | RESINA INVENTARIABLE |
MG-SKU | ARTICULOS NO INVENTARIABLES |
MG-SRV | *** OBSOLETA NO USAR *** |
MG-SRVCOM | SERVICIOS COMERCIALES |
MG-SRVGRL | SERVICIOS GENERALES |
MG-STRETCH | VTACOM - STRETCH |
¿Cuántos tipos de documento de venta manejamos en Minigrip?
Para facilitar la identificación del tipo de transacción de ventas en Minigrip utilizamos los dos primeros caracteres del número de documento de la siguiente manera:
- F0 Facturas normales de uso regular
- FC Facturas de re facturación
- NC Notas de Crédito (se usan cuando hay una re facturación)
- NF Notas Financieras
- ND Notas de Deméritos
- NV Notas de Venta por Bonificación Comercial
- RF Documento NO FISCAL para “Cancelar” una F0 o una FC
¿Qué son los planes de unidad de medida, cómo se usan y por qué son tan importantes?
Cada uno de los productos o servicios que facturamos, obviamente se deben de comercializar en una unidad de venta específica (kilo, metro, pieza, rollo, etcétera) pero a raíz de la versión del CFDI 3.0 se hizo necesario utilizar tan solo aquellas que aparecen en el CATALOGO DE UNIDADES DE MEDIDA DEL SAT, las cuales tienen una nomenclatura muy particular.
Por ejemplo: Para referirnos a la unidad de venta PIEZA debemos de escribir H87, no se puede utilizar PZ, PZA, PIEZA o cualquier otra cosa que se nos ocurra.
De tal forma, que ahora es más complicado hacer algún tipo de conversión y las diferentes unidades de venta tienen que agruparse en planes que tengan relación entre sí.
Por ejemplo, las unidades de longitud como metro, centímetro, pulgada, kilómetro, metro lineal, etcétera; se agrupan en el plan SAT-Metros
Es así, que los planes de unidad de medida que podemos utilizar son aquellos que comienzan con las letras SAT seguidos de un guion.
IdPlan | Descripción | UndVta Base |
SAT-ANTICI | Unidades para Anticipos | H87 |
SAT-IMG | Unidades de Imagen | IMG |
SAT-KILOS | Unidades de Masa | KGM |
SAT-LITROS | Unidades de Volumen | LTR |
SAT-M2 | Unidades de Superficie | MTK |
SAT-METROS | Unidades de Longitud | MTR |
SAT-NCRED | Unidades de nota de crédito | ACT |
SAT-PIEZAS | Unidades de Cantidad | PZA |
SAT-SERV | Unidades de Servicio | SRV |
¿Cuáles son las políticas y reglas de negocio que utilizamos para determinar la venta neta y la venta comercial?
La venta neta (o venta fiscal) es la suma de todos los documentos de ingreso vigentes menos la suma de todos los documentos de egreso vigentes.
Se entiende por documentos vigentes, aquellos que no han sido ANULADOS en el sistema. En GP no existe el termino cancelar, pero si es posible anularlos en el módulo de venta o en el módulo de cuentas por pagar.
Ejemplo:
SubDoc | Descripción | Tipo | Importe |
F0 | Facturas normales de uso regular | Ingreso | $10,000.00 |
FC | Facturas de re facturación | Ingreso | $500.00 |
NC | Notas de Crédito (se usan cuando hay una re facturación) | Egreso | -$500.00 |
NF | Notas Financieras | Egreso | -$200.00 |
ND | Notas de Deméritos | Egreso | -$100.00 |
NV | Notas de Venta por Bonificación Comercial | Egreso | -$50.00 |
RF | Documento NO FISCAL para “Cancelar” una factura | Egreso | -$50.00 |
$9,600.00 |
Total de Ingresos $10,500 menos Total de Egresos $900 = $9,600 de venta Neta o Fiscal
El monto de venta neta (o venta fiscal) es el importe contra el que se deben de cuadrar todos los análisis que se realicen.
La venta comercial.
Es muy común que del total de venta fiscal, a diferentes áreas les interese sólo una parte, tal es el caso del área comercial, que para efectos de sus propios objetivos separa de la venta fiscal los artículos y productos que son propios del giro, y deja fuera otros conceptos como lo son la venta de activos fijos, resinas, etcétera.
Para separar la venta comercial, al día de hoy existe la siguiente regla de negocio:
- Se suman todas las facturas del tipo F0 pero sólo las partidas de productos que se consideran venta comercial, como por ejemplo MG-FONDO, MG-BOLWCK, etcétera. Las que la mismas direcciones determinen.
- Se resta el importe de todos los documentos de egreso RF que tengan asociado productos con las líneas comerciales.
- Se resta el importe total de todos los documentos NV que son bonificaciones comerciales
Ejemplo:
*Recordar: Total de Ingresos $10,500 menos Total de Egresos $900 = $9,600 de venta Neta o Fiscal, es la cantidad con la que se deben de cuadrar todos los análisis de venta
SubDoc | IdClase | Descripción | Importe |
F0 | MG-POLYCIM | POLY IMPRESO | $1,000.00 |
F0 | MG-POLYSIM | POLY SIN IMPRESION | $1,000.00 |
F0 | MG-FONDO | FONDO | $1,500.00 |
F0 | MG-PAÑALPF | POLY PAÑAL / PF | $1,000.00 |
F0 | MG-PABIMP | PAB IMPRESO | $1,000.00 |
F0 | MG-PABSYM | PAB SIN IMPRESION | $1,000.00 |
F0 | MG-OTRLAM | OTRAS LAMINACIONES | $1,000.00 |
F0 | MG-STRETCH | STRETCH | $1,000.00 |
F0 | MG-BOLWCK | BOLSA WICKET | $1,000.00 |
|
| $9,500.00 | |
SubDoc | IdClase | Descripción | Importe |
RF | MG-POLYCIM | POLY IMPRESO | -$50.00 |
RF | MG-POLYSIM | POLY SIN IMPRESION | -$100.00 |
RF | MG-FONDO | FONDO | -$30.00 |
RF | MG-PAÑALPF | POLY PAÑAL / PF | -$20.00 |
RF | MG-PABIMP | PAB IMPRESO | -$20.00 |
RF | MG-PABSYM | PAB SIN IMPRESION | -$2.00 |
RF | MG-OTRLAM | OTRAS LAMINACIONES | -$12.00 |
RF | MG-STRETCH | STRETCH | -$26.00 |
RF | MG-BOLWCK | BOLSA WICKET | -$40.00 |
|
| -$300.00 | |
SubDoc | IdClase | Descripción | Importe |
NV | MG-NCRED | BONIFICACIONES | -$50.00 |
Venta Comercial = $9,500 - $300 - $50 = $9,150
Entonces cuadramos con la venta fiscal y sacamos por diferencia los otros conceptos:
Venta Comercial $9,150
Otros Conceptos $ 450
Venta Fiscal $9,600
¿Cuáles son las tablas de SQL de Dynamics GP involucradas en el proceso de facturación?
La lista de tablas de GP del módulo de ventas es bastante amplia, pero nos concentramos básicamente en dos para conocer las ventas.
SOP30200 – Encabezado de los documentos de venta histórica (contabilizados)
SOP30300 – Detalle de los documentos de venta histórica (contabilizados)
La tabla SOP30200 que es el encabezado de los documentos contiene, entre otras cosas, el número de documento, el cliente, la fecha de la transacción, el subtotal del documento, etcétera.
La tabla SOP30300 que es el detalle de los documentos contiene el número de artículo, la cantidad, la unidad de venta, el precio del artículo y en general campos con información propia de cada partida del documento.
- Para conocer más acerca de los campos de estas tablas, se puede consultar el sitio https://gpt.azrcrv.co.uk/SOP30200 y https://gpt.azrcrv.co.uk/SOP30300 respectivamente
Pero, lo que no contiene ninguna de estas dos tablas, es el peso de la partida del documento. Ese dato lo registra el personal de facturación en las observaciones de la partida… y esas observaciones se encuentran en otra tabla diferente, la SOP10202 que es donde se guardan todos los comentarios de los documentos de venta, ya sea los que son de trabajo (WORK) o los que ya han sido contabilizados (HISTORY)
- Para conocer en detalle los campos de esta tabla, se puede consultar el sitio https://gpt.azrcrv.co.uk/SOP10202
Para conocer los kilos de cada partida, en los comentarios se incluyen los pesos netos y pesos brutos de cada una, delimitados por dos diagonales seguidas. Por ejemplo //135.50//139.80// donde 135.50 es el peso neto y 139.80 es el peso bruto
Para saber el peso neto y el peso bruto de cada partida se busca y se extrae de los comentarios la cadena con los kilos.
SQL SERVER - Vistas y Consultas de Ventas
Comandos usados para crear una vista (viewVentaNetaPorCliente_Acumulada ) que muestre las ventas netas
CREATE VIEW dashboard.dbo.viewVentaNetaPorCliente_Acumulada
AS
-- Venta Neta agrupada por CLIENTE, EMPRESA, MES y AÑO
-- No muestra los kilos
-- 25.may.2023
SELECT
Empresa = 'MINI',
Año = YEAR (SOP30200.DOCDATE),
Mes = dbo.getMesDateTime (SOP30200.DOCDATE),
Venta = SUM (SOP30200.SUBTOTAL * dbo.getFactorVenta (SOP30200.SOPTYPE)),
IdCliente = SOP30200.CUSTNMBR,
Cliente = RM00101.CUSTNAME
FROM
MGM.dbo.SOP30200 -- Histórico de ventas CABECERA
LEFT JOIN
MGM.dbo.RM20101 -- Trabajo de ventas CABECERA
ON SOP30200.SOPNUMBE = RM20101.DOCNUMBR
LEFT JOIN
MGM.dbo.RM00101 – Maestro de clientes
ON SOP30200.CUSTNMBR = RM00101.CUSTNMBR
WHERE
-- Sólo documentos vigentes (NO Anulados)
(ISNULL (SOP30200.VOIDSTTS, 0)=0 AND ISNULL (RM20101.VOIDSTTS, 0)=0)
GROUP BY
YEAR (SOP30200.DOCDATE),
dbo.getMesDateTime (SOP30200.DOCDATE),
SOP30200.CUSTNMBR,
RM00101.CUSTNAME
----
UNION ALL
----
SELECT
Empresa = 'DISE',
Año = YEAR (SOP30200.DOCDATE),
Mes = dbo.getMesDateTime (SOP30200.DOCDATE),
Venta = SUM (SOP30200.SUBTOTAL * dbo.getFactorVenta (SOP30200.SOPTYPE)),
IdCliente = SOP30200.CUSTNMBR,
Cliente = RM00101.CUSTNAME
FROM
DISE.dbo.SOP30200 -- Histórico de ventas CABECERA
LEFT JOIN
DISE.dbo.RM20101 -- Trabajo de ventas CABECERA
ON SOP30200.SOPNUMBE = RM20101.DOCNUMBR
LEFT JOIN
DISE.dbo.RM00101 – Maestro de clientes
ON SOP30200.CUSTNMBR = RM00101.CUSTNMBR
WHERE
-- Sólo documentos vigentes (NO Anulados)
(ISNULL (SOP30200.VOIDSTTS, 0) =0 AND ISNULL (RM20101.VOIDSTTS, 0) =0)
GROUP BY
YEAR (SOP30200.DOCDATE),
dbo.getMesDateTime (SOP30200.DOCDATE),
SOP30200.CUSTNMBR,
RM00101.CUSTNAME
Ejemplo de uso de la vista creada
-- Venta neta, de mayor a menor, un cliente por fila, de un mes en particular
SELECT *
FROM dashboard.dbo.viewVentaNetaPorCliente_Acumulada
WHERE Mes = '2023-05' AND Empresa = 'MINI'
ORDER BY Venta DESC
Empresa | Año | Mes | Venta | IdCliente | Cliente |
MINI | 2023 | 2023-05 | $ 10,671,120.57 | 002394 | ABSORMEX CMPC TISSUE |
MINI | 2023 | 2023-05 | $ 7,516,861.72 | 002439 | ESSITY HIGIENE Y SALUD MEXICO |
MINI | 2023 | 2023-05 | $ 7,338,663.38 | 001361 | KIMBERLY CLARK DE MEXICO |
MINI | 2023 | 2023-05 | $ 6,790,447.62 | 002020 | DISE GRIP MEXICO |
MINI | 2023 | 2023-05 | $ 5,830,724.40 | 002102 | PRODUCTOS INTERNACIONALES MABE |
MINI | 2023 | 2023-05 | $ 2,202,782.52 | 002455 | ONTEX MEXICO OPERATIONS |
MINI | 2023 | 2023-05 | $ 1,818,662.94 | 002404 | SUNRISE PACKAGING FILMS |
MINI | 2023 | 2023-05 | $ 1,215,172.58 | 002246 | SALES DEL ISTMO |
MINI | 2023 | 2023-05 | $ 1,146,079.75 | 002449 | SALCHICHAS Y JAMONES DE MEXICO |
MINI | 2023 | 2023-05 | $ 830,871.92 | 002308 | CARIBBEAN DEPOT LIMITED |
MINI | 2023 | 2023-05 | $ 756,932.81 | 002445 | EMPACADORA EL CENTENARIO |
MINI | 2023 | 2023-05 | $ 607,140.91 | 002299 | MORNINGSTAR GROUP CORP. |
MINI | 2023 | 2023-05 | $ 531,931.13 | 002286 | INSUMOS INTERNACIONALES G C |
MINI | 2023 | 2023-05 | $ 334,576.66 | 001630 | ROTOTEC |
MINI | 2023 | 2023-05 | $ 284,727.40 | 001549 | SOCIEDAD COOPERATIVA TRABAJADORES DE PASCUAL |
MINI | 2023 | 2023-05 | $ 246,109.84 | 002264 | NESTLE MEXICO |
MINI | 2023 | 2023-05 | $ 98,756.74 | 002256 | ABC ALIMENTOS BOTANAS Y CEREALES |
MINI | 2023 | 2023-05 | -$ 132,624.12 | 002295 | SUNRISE PACKAGING FILMS |
Otro ejemplo de uso de la vista creada
-- Venta Neta de un cliente en particular agrupada por año
SELECT
a.Empresa,
a.Año,
Venta = SUM (a.Venta),
a.IdCliente,
a.Cliente
FROM
dashboard.dbo.viewVentaNetaPorCliente_Acumulada AS a
WHERE
IdCliente = '002394'
GROUP BY
a.Empresa,
a.Año,
a.IdCliente,
a.Cliente
Empresa | Año | Venta | IdCliente | Cliente |
MINI | 2018 | $ 4,121,580.25 | 002394 | ABSORMEX CMPC TISSUE |
MINI | 2019 | $ 23,552,981.95 | 002394 | ABSORMEX CMPC TISSUE |
MINI | 2020 | $ 28,764,442.85 | 002394 | ABSORMEX CMPC TISSUE |
MINI | 2021 | $ 53,008,591.97 | 002394 | ABSORMEX CMPC TISSUE |
MINI | 2022 | $ 51,746,394.92 | 002394 | ABSORMEX CMPC TISSUE |
MINI | 2023 | $ 30,292,886.31 | 002394 | ABSORMEX CMPC TISSUE |