1 Descripción

La facturación interempresa es la facturación resultante del intercambio comercial entre empresas del grupo.

El programa permite generar facturas de compra interempresa, directamente a partir de la factura de ventas, para eso debe estar correctamente parametrizada la tipología, en el campo facturación interempresa, con la tipología de documento a generar en las compras. De esta forma, lo que en ventas es el proveedor, en las compras será el cliente y viceversa.

Existen varios circuitos desde los que generar la factura de compras interempresa, según la operativa de la empresa.

2 Parametrización previa

En el proceso de compra interempresa debe observarse lo siguiente con respecto al proveedor y la delegación:

  • El proveedor debe estar definido en el maestro de proveedores y su tercero debe asociarse a una delegación en el maestro de delegaciones. Esto porque en el documento interempresa de ventas actúa como la delegación.
  • La delegación desde la que se realiza la compra debe estar definida en el maestro de delegaciones, y su tercero debe estar asociado en el maestro de clientes. Esto porque en el documento interempresa de ventas actúa como cliente.

Ambos terceros deben estar asociados a empresas distintas. Para garantizar ello, el sistema valida que:

  • En el maestro de terceros, el campo holding de ambos terceros debe ser distinto. También se requiere que el CIF de la empresa y el CIF del tercero de facturación sean diferentes.
  • En el maestro de delegaciones el valor del campo sociedad no coincide entre la delegación desde la que se efectúa una compra y aquella cuyos códigos de Tercero y Dirección coincidan con los del Proveedor y dirección en el documento.
  • El tercero de facturación a informar en la factura de compras pertenezca a una empresa

Luego, al configurar un tipo de factura de venta, en el campo factura interempresa se informa el tipo de factura de compra creado en el paso anterior.

Example

Esta parametrización se visualiza mejor con un caso:

  • El primer paso es definir un tipo de factura de compras, por ejemplo: FCIE (factura de compras interempresa).
  • Luego, en la tipología de facturas de venta se informa en el campo factura interempresa el tipo de factura de compra a generar, que en este caso será FCIE.

3 Generar factura de compras interempresa desde cabecera

Para generar un factura de compras interempresa desde un factura de ventas, se selecciona el botón
GENERAR FACTURA INTEREMPRESA, ubicado en la parte inferior de la cabecera.

Una vez ejecutado el proceso se puede acceder a la factura de compras desde la pestaña Factura interempresa.

Sobre la factura de compras generada, se ha de considerar lo siguiente:

  • El campo origen auxiliar guarda el número de la factura de ventas origen.
  • Para determinar la delegación y departamento puede darse alguno de los siguientes casos:
    • Si el circuito no empieza con pedidos, la delegación y departamento se obtienen a partir del tercero y dirección de facturación del factura de ventas. El sistema busca primero si están definidos en el maestro de departamentos. Si no se encuentran, se busca una delegación en su respectivo maestro, cuyo tercero y dirección sean los de facturación, y se toma el departamento por defecto para la delegación encontrada.
    • Si el circuito empieza con pedidos, la delegación y departamento son las informadas en el pedido de compras.
  • El sistema obtiene el tercero y dirección a partir del departamento o la delegación informada en la factura de ventas. Primero se busca si se han asignado el tercero y la dirección al departamento, en su respectivo maestro. En el caso de que no estén definidos, el sistema toma el tercero y la dirección asignada en el maestro de delegaciones.

Tras generar una factura interempresas, la factura de ventas origen quedará marcada con el indicativo de modificación en No, para que no pueda volver a generar otro factura de compras.

4 Generación masiva de facturas interempresa

El proceso de generación de facturas interempresa permite generar facturas de compras interempresa a partir de las facturas de ventas seleccionados.

A este proceso se accede desde la siguiente ruta:

Menu path:
[SOAPException: faultCode=SOAP-ENV:Server; msg=Exception from service object: Database is currently opened by another user.] at deister.axional.docs.xsl.CMSSOAPClient.__doSOAPCall(CMSSOAPClient.java:120) at deister.axional.docs.xsl.CMSSOAPClient.__doSOAPCall(CMSSOAPClient.java:101) at deister.axional.docs.xsl.CMSSOAPClient.getDictionaryObjectData(CMSSOAPClient.java:214) at jdk.internal.reflect.GeneratedMethodAccessor6868.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:343) at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:440) at org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:222) at org.apache.xalan.transformer.TransformerImpl.extFunction(TransformerImpl.java:475) at org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:208) at org.apache.xpath.objects.XRTreeFragSelectWrapper.execute(XRTreeFragSelectWrapper.java:69) at org.apache.xpath.XPath.execute(XPath.java:337) at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:280) at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:248) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:394) at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:248) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:141) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2272) at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1358) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:711) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1275) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1253) at deister.axional.server.lang.xsl.XSLProcessor.__execute(XSLProcessor.java:866) at deister.axional.server.lang.xsl.XSLProcessor$4.call(XSLProcessor.java:702) at deister.axional.server.lang.xsl.XSLProcessor$4.call(XSLProcessor.java:694) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:832)

Al entrar, el sistema presenta una pantalla con campos de consulta donde el usuario podrá insertar los criterios de selección de facturas de ventas antes de ejecutar el proceso.

Ejecutado el proceso, el sistema muestra el detalle de los facturas interempresa generados. Desde cada número de factura, el usuario puede acceder a tanto a la cabecera del factura origen como del factura interempresa generado.

5 Generación de facturas de devolución interempresa

El sistema también permite generar facturas de ventas interempresa desde facturas de compras. Esto ocurre por ejemplo en las devoluciones interempresa.

Los circuitos permitidos son:

La parametrización previa se realiza informando el tipo de factura de ventas interempresa en el campo factura interempresa de la tipología de factura de compras.

Una vez configurada la tipología de factura, es posible seleccionar el botón Generar factura interempresa, ubicado en la parte inferior de la cabecera de la factura de compras del tipo definido.

Sobre la factura de ventas generado, las consideraciones son similares a las de la generación de la factura de compras interempresa:

  • El campo origen auxiliar guarda el número de la factura de compras origen
  • Para determinar la delegación y departamento puede darse alguno de los siguientes casos:
    • Si el circuito no empieza con pedidos, la delegación y departamento se obtienen a partir del tercero y dirección de facturación del factura de compras, buscando primero si están informados en el maestro de departamentos, y en caso no se encuentren, en el maestro de delegaciones.
    • Si el circuito empieza con un pedido de compras, la delegación y departamento se obtienen de dicho pedido.
  • El sistema obtiene el tercero y dirección a partir de la delegación informada en el factura de ventas. El sistema toma el tercero y la dirección asignadas a dicha delegación en el maestro de delegaciones.