Documentos se concilian automáticamente al crearlo

Hola amigos.
tengo un problema, a ver si alguien le ha pasado.
A través de Service Layer enviamos a SAP una Factura de clientes, Luego una Nota de crédito por el mismo monto, y luego una nueva factura.
El problema es que la primera factura y la NC, se reconcilian automáticamente por lo tanto quedan cerradas.

¿habrá alguna parametrización para que esto no suceda?
Gracias

Hola @Jose_Marquez

cuando envías los datos para generar la nota de crédito ¿envías los datos de la factura como documento anterior (como si en la pantalla seleccionas la factura y la copias a nota de crédito?

Un saludo

Hola @Amarcos
No, no relacionamos nada que reemplace el “Copiar de”
Solo ponemos el folio de la factura en un campo de usuario de la NC.

JSON de la Factura:

{“CardCode”:“C77259592-1”,“U_NX_WHS”:“107”,“DocDate”:“2024-05-25”,“FolioPrefixString”:“33”,“FolioNumber”:“990829”,“Reference”:“”,“Rounding”:null,“DocumentSubType”:“bod_None”,“RoundingDiffAmount”:0,“NumAtCard”:null,“Indicator”:null,
“DocumentLines”:[{“ItemCode”:“531468”,“PriceAfterVAT”:2989.888,“Quantity”:1.78,“WarehouseCode”:“107”,“CostingCode”:“40701”},{“ItemCode”:“531468”,“PriceAfterVAT”:2989.944,“Quantity”:1.79,“WarehouseCode”:“107”,“CostingCode”:“40701”},{“ItemCode”:“510804”,“PriceAfterVAT”:2189.706,“Quantity”:1.36,“WarehouseCode”:“107”,“CostingCode”:“40701”}]}

JSON de Nota de crédito:

{“CardCode”:“C77259592-1”,“U_NX_WHS”:“107”,“DocDate”:“2024-05-25”,“FolioPrefixString”:“61”,“FolioNumber”:“879159”,“Reference”:“”,“U_TpoDocRef”:33,“U_FolioRef”:990829,“U_FchRef”:“2024-05-25”,“U_CodRef”:1,“RoundingDiffAmount”:0,“DocumentLines”:[{“ItemCode”:“531468”,“PriceAfterVAT”:2989.888,“Quantity”:1.78,“WarehouseCode”:“107”,“CostingCode”:“40701”},{“ItemCode”:“531468”,“PriceAfterVAT”:2989.944,“Quantity”:1.79,“WarehouseCode”:“107”,“CostingCode”:“40701”},{“ItemCode”:“510804”,“PriceAfterVAT”:2189.706,“Quantity”:1.36,“WarehouseCode”:“107”,“CostingCode”:“40701”}]}

En SAP Business One, cuando creas documentos como facturas y notas de crédito, la reconciliación automática puede ocurrir si hay configuraciones específicas que lo permiten. Este comportamiento es común cuando se relacionan documentos financieros de manera que SAP considera que deben reconciliarse automáticamente.

Para evitar la reconciliación automática de las facturas y notas de crédito, puedes considerar los siguientes enfoques:

1. Revisar Configuración de Reconciliación Automática

  1. Revisar las Configuraciones de Documentos:

    • Navega a Gestión > Inicialización del sistema > Detalles de la sociedad.
    • Ve a la pestaña de Reconciliación y asegúrate de que las opciones de reconciliación automática no estén habilitadas para los documentos que no deseas que se reconcilien automáticamente.
  2. Parámetros Generales:

    • Navega a Gestión > Inicialización del sistema > Parámetros generales.
    • Verifica la pestaña de Reconciliación y asegúrate de que las configuraciones no estén habilitadas para realizar reconciliaciones automáticas en el momento de creación de los documentos.

2. Modificar el Proceso de Creación de Documentos

  1. Revisar el Proceso de Envío a través del Service Layer:
    • Asegúrate de que al enviar los documentos a través del Service Layer, no se estén configurando parámetros que activen la reconciliación automática.
    • Revisa si hay algún campo o parámetro que esté causando que SAP interprete que la factura y la nota de crédito deben reconciliarse automáticamente.

3. Desarrollar un Transaction Notification

Si la configuración estándar no resuelve el problema, puedes crear un Transaction Notification que impida la reconciliación automática para ciertos documentos. Aquí hay un ejemplo de cómo podrías configurar esto:

IF @object_type = '14' AND @transaction_type IN ('A', 'C') -- 14 es el tipo de objeto para Notas de Crédito
BEGIN
    DECLARE @DocEntry INT;
    SET @DocEntry = (SELECT DocEntry FROM OINV WHERE DocEntry = @list_of_cols_val_tab_del);

    IF EXISTS (SELECT 1 FROM ORIN WHERE DocEntry = @DocEntry)
    BEGIN
        SET @error = -1;
        SET @error_message = 'La Nota de Crédito no se puede reconciliar automáticamente con la factura.';
    END
END

Este código verifica si el documento es una nota de crédito (object_type = '14') y, si es así, impide la reconciliación automática con la factura correspondiente.

4. Verificar el Código en el Service Layer

Revisa el JSON que estás enviando a través del Service Layer para asegurarte de que no estás inadvertidamente estableciendo parámetros que puedan causar la reconciliación automática.

  • Asegúrate de que los campos U_TpoDocRef, U_FolioRef, y similares que utilizas en la nota de crédito no estén causando la reconciliación automática.

Ejemplo de JSON sin Referencia Directa para Evitar Reconciliación Automática

{
    "CardCode": "C77259592-1",
    "U_NX_WHS": "107",
    "DocDate": "2024-05-25",
    "FolioPrefixString": "61",
    "FolioNumber": "879159",
    "Reference": "",
    "RoundingDiffAmount": 0,
    "DocumentLines": [
        {
            "ItemCode": "531468",
            "PriceAfterVAT": 2989.888,
            "Quantity": 1.78,
            "WarehouseCode": "107",
            "CostingCode": "40701"
        },
        {
            "ItemCode": "531468",
            "PriceAfterVAT": 2989.944,
            "Quantity": 1.79,
            "WarehouseCode": "107",
            "CostingCode": "40701"
        },
        {
            "ItemCode": "510804",
            "PriceAfterVAT": 2189.706,
            "Quantity": 1.36,
            "WarehouseCode": "107",
            "CostingCode": "40701"
        }
    ]
}

Conclusión

Para evitar la reconciliación automática de facturas y notas de crédito en SAP Business One, revisa las configuraciones de reconciliación automática, modifica el proceso de envío de datos a través del Service Layer, y considera implementar un Transaction Notification que impida la reconciliación automática. Asegúrate de revisar detenidamente los JSON que estás enviando para evitar cualquier referencia directa que pueda causar la reconciliación automática. Si necesitas más detalles o asistencia específica en algún paso, no dudes en preguntar. ¡Estoy aquí para ayudarte!

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.