Cómo modificar los criterios de partición de facturas

martes, 24 de septiembre de 2013

Los criterios de partición o split de factura son el conjunto de valores que determinan si la facturación generada a partir de varios documentos de ventas darán lugar a una o más facturas, nota 11162

De forma estándar SAP impone una serie de criterios de agregación que determinan que diferentes documentos de venta generen una sola factura...

  • Datos de cabecera iguales. Por ejemplo, si dos documentos de venta poseen la misma condición de pago o la misma vía de pago generarán una sola factura.
  • Interlocutores de cabecera iguales. Si tenemos el mismo cliente, responsable de pago, responsable de facturación... obtendremos una sola factura.
Pero modifiquemos uno solo de estos datos y automáticamente provocaremos un split, es decir, no podremos obtener una sola factura sino que cada documento de venta tendrá su factura correspondiente.

Sin embargo, todos éstos son criterios estándar. ¿Y nosotros? ¿Podemos incluir nuestros criterios de split? Pues sí, podemos incluir criterios que fuercen una partición. Desgraciadamente, lo contrario no es posible. No podemos crear criterios que fuercen una mayor agregación de facturas.

Customizing del split de facturas


IMG: Ventas y distribución / Facturación / Documentos de facturación / Mantener control de copia para documentos de facturación / Control de copia de documentos de venta a facturas

  • Seleccionamos el valor que queremos modificar. Por ejemplo, una venta directa.
  • Navegamos a los datos de posición ya que el control de copia se controla a nivel de posición.
Control de copia de posicion

  • Seleccionamos los tipos de posición implicados (básicamente todos).
  • En el campo de VBRK/VBRP introducimos una nueva rutina de control de copia. Aquí nos tenemos que parar porque debemos introducir una rutina de control de copia que previamente debermos haber creado.
Si visualizamos el código ABAP de la rutina de control de copia 001 que controla nuestra posición de copia documento de venta-factura veremos que hay dos criterios ya introducidos. Estos criterios son el canal de distribución (campo VBAK-VTWEG) y el sector (VBAK-SPART). Y además estos dos campos están agrupados bajo el campo VBRK-ZUKRI.

Rutina de control de copia


Pues bien, lo único que tenemos que hacer es crear una rutina nueva a la que daremos la numeración 601. Para ello utilizaremos la transacción VOFM.

Creando la rutina de control de copia

  • Llamamos a la transacción VOFM.
  • Vamos al menú Control de copia / Facturas.
  • Creamos una nueva rutina 601 como copia de la rutina 001.
  • Os pedirá que registréis el nuevo objeto en vuestro Support Portal ya que estáis agregando desarrollos a vuestro SAP.
  • Modificáis el código ABAP de la rutina 601 añadiendo vuestro criterio de split adicional. Por ejemplo, podría ser el número de pedido cliente (campo VBAK-BSTNK).

* Additional split criteria
DATA: BEGIN OF ZUK,
  MODUL(3) VALUE '601',
  VTWEG LIKE VBAK-VTWEG,
  SPART LIKE VBAK-SPART,
  BSTNK LIKE VBAK-BSTNK,
END OF ZUK.

ZUK-SPART = VBAK-SPART.
ZUK-VTWEG = VBAK-VTWEG.
ZUK-BSTNK = VBAK-BSTNK.
VBRK-ZUKRI = ZUK.

Y ya tenemos nuestro criterio de split adicional. Lo único que tenemos que hacer es activarlo. Y no me refiero a activar el código ABAP (que también) sino que tenemos que activar la rutina.

Activacion de la rutina de control de copia

Generar la rutina en SAP

Y aún quedará un punto. Muchas veces, y todavía no he descubierto la razón, las rutinas generadas a través de la transacción VOFM no se transportan correctamente al resto de mandantes. Por ello es muy importante lanzar el programa RV80HGEN. Este programa permite que la rutina se incluya correctamente en nuestro sistema SAP.

Herramientas / Workbench ABAP / Desarrollo / SE38 - Editor ABAP / RV80HGEN

6 comentarios:

  1. Muchas gracias por la información, alguna vez he tenido que tocar esto en el sistema, pero no lo tenia documentado.

    Saludos

    ResponderEliminar
    Respuestas
    1. Muchas gracias por tu comentario. Me alegro de que pueda servirte.

      Eliminar
  2. Gracias Oscar. Me sirvió de mucho tu post.

    ResponderEliminar
  3. Es exactamente lo que estaba buscando.
    Muchas gracias por tu aporte Oscar!!

    ResponderEliminar