Estoy en busca de sus comentarios , opiniones o tal vez ya una solucion que tengan implementada de como manejar el proceso de facturacion de compras sin tener duplicidad de documentos .
el caso es como puedo evitar cargar 2 facturas proveedor en SAP que sean la misma factura emitida por el proveedor , ya que SAP me lo va a permitir por que genera folios diferente .
El tema es poder evitar esto y no llegue hasta tesoreria y esta corra el riesgo de ser pagada
Algun TN o algo
En mi opinión, creo que esto lo deberías de controlar mas por el proceso de cuentas por pagar que por el sistema. Aunque me surge la duda, ¿registran las facturas de manera independiente? ¿no parten de un pedido de compra? o como es que se realiza la duplicidad?.
En el caso de la empresa donde trabajo el procedimiento es Solicitud de compra> Pedido de compra> Factura de proveedor> Pago. Y los gastos fijos parten solo del Pedido> Factura> Pago.
No recuerdo si eres de México pero en mi caso, por medio del TN, obligo a que el usuario anexe el XML correspondiente, una vez anexado, recupero el UUID y este dato lo valido que no sea duplicado en algún otro documento.
Si todo ese es el flujo , pero el tema es que si realizas el proceso 2 veces igual pasa solo son diferentes docuemntos pero la informacion que capturaste es la misma esto pone en riesgo que al área que provisiona duplique y tesoreria aplique los pagos a ambas facturas
IF ISNULL((SELECT T0.U_UUID FROM OPCH T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del),'') = ''
BEGIN
SET @error = 9
SET @error_message = '***Recuerda especificar el UUID (Folio Fiscal) del documento, en el campo de usuario ''UUID (CFDI)''... Gracias'
GOTO Final_de_las_validaciones
END
Y este para que no se duplique:
DECLARE @INFORMACION_FACTURA nvarchar(1000)
DECLARE @NUMERO_UUID nvarchar(50)
SET @NUMERO_UUID = ISNULL((SELECT T0.U_UUID From OPCH T0 Where T0.DocEntry = @list_of_cols_val_tab_del),'')
SET @INFORMACION_FACTURA = ISNULL((SELECT TOP 1 ( 'Factura No: (' + CONVERT(nvarchar(50),T0.DocNum) + ')' + ' con Fecha ' + CONVERT(nvarchar(20),T0.DocDate,103)) From OPCH T0 Where T0.U_UUID = @NUMERO_UUID And T0.DocEntry <> @list_of_cols_val_tab_del Order By T0.DocEntry DESC),'')
IF @INFORMACION_FACTURA <> ''
BEGIN
SET @error = 9
SET @error_message = 'El UUID ' + @NUMERO_UUID + ' ya existe, se encuentra capturado con los siguientes datos: ----> ' + @INFORMACION_FACTURA + '... Gracias'
GOTO Final_de_las_validaciones
END