Cálculo de impuestos usnado BAPI_ACC_DOCUMENT_POST

Saludos colegas,

Alguien sabe que más hay que activar/configurar para que se calculen los impuestos automaticamente usando la bapi BAPI_ACC_DOCUMENT_POST???

Ya marqué el campo accit-xmwst = ‘X’ en una implementación de BADI, lo hice hasta en un BTE y nada de nada. También desde el programa antes de llamar la BAPI lleno la tabla extention2 tal y como dice este otro post: USO de BAPI_ACC_DOCUMENT_POST ( Calcular Impuest)

El documento se crea bien y hasta tiene el cotejo de Calculo de impuestos marcados cuando reviso las tablas, pero ninguna posición de impuestos se crea.

Contabilicé documentos manualmente también por si las moscas y todo está correcto.

Seguiré tratando a ver que tal, gracias de antemano.

La llamada que hacemos a esa bapi con impuestos es así:

  CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
    EXPORTING
      documentheader    = gw_cabecera
      customercpd       = gw_cpd
    TABLES
      accountgl         = gt_accountgl
      accountreceivable = gt_poscliente
      accountpayable    = gt_posprove
      accounttax        = gt_impuesto
      currencyamount    = gt_importes
      extension1        = gt_extension1
      return            = gt_log.

en la primera tabla:

gt_accountgl-tax_code = gt_porcentaje-mwskz.

y en la tabla de importes

    gt_importes-itemno_acc  = gt_accountgl-itemno_acc + 1.
    gt_importes-currency    = 'EUR'.
    gt_importes-amt_doccur  = gt_alv-impoiva.
    gt_importes-amt_base    = gt_alv-impobase.
    IF gt_importes-amt_doccur LT 0.
      gt_importes-amt_doccur = gt_importes-amt_doccur * -1.
    ENDIF.
    IF gt_importes-amt_base LT 0.
      gt_importes-amt_base   = gt_importes-amt_base * -1.
    ENDIF.
    gt_importes-tax_amt      = gt_importes-amt_doccur.
    APPEND gt_importes.

Y la tabla gt_impuesto la rellenamos por ejemplo:

  • Rellenamos la tabla interna con los datos de la cuenta de mayor.
    CLEAR: gt_impuesto.
    gt_impuesto-itemno_acc = gt_poscliente-itemno_acc + 2.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = lt_rtax1u15-hkont
      IMPORTING
        output = gt_impuesto-gl_account.
    gt_impuesto-tax_code   = gt_porcentaje-mwskz.
    gt_impuesto-tax_rate   = gt_alv-porciva.
    APPEND gt_impuesto.

Aunque me acabo de dar cuenta que quieres que lo haga automáticamente y no manualmente que es lo que se hace en el código que he pasado. Bueno por si acaso no lo quito por si a alguien le ayuda.

2 Me gusta

Gracias @Salco,
Efectivamente, ando buscando la manera de que se haga automatico. Sigo sin dar pié con bola.

¿ tiene que ser con la bapi y no con un batch input?

1 me gusta

Me quería evitar el Batch Input, se supone que la BADI es para hacernos la vida más simple pero a veces se pasan de v#g@.

Si para el medio día no soluciono Batch Input it is.

No se puede hacer automáticamente es esa BAPI, pero existen funciones que calculan el impuesto como:
RECP_FI_TAX_CALCULATE
CALCULATE_TAX_FROM_GROSSAMOUNT
CALCULATE_TAX_FROM_NET_AMOUNT

Al activar accit-xmwst = ‘X’ me parece que realmente solo activas el checkbox gráficamente mas no significa que realice el calculo de los impuestos.

Esto le mando a la función CALCULATE_TAX_FROM_NET_AMOUNT y me da el monto de la posición del IVA: (U2 iva al 16%)

Parámetros Import:
I_BUKRS 1000
I_MWSKZ U2
I_TXJCD
I_WAERS MXN
I_WRBTR 1,000.00
I_ZBD1P 0.000
I_PRSDT
I_PROTOKOLL
I_TAXPS 000000

Parámetros export: Valor
E_FWNAV 0.00
E_FWNVV 0.00
E_FWSTE 160.00
E_FWAST 160.00

Estaba viendo esas funciones pero preferí hacer Batch Input.

Sé que hay forma de ponerlo automatico con la BAPI, pero algo me está faltando.

Gracias de todas formas @Elvis @Salco

Hola,

Por lo que indicas yo creo que te está faltando llenar en la bapi la parte de ACCOUNTTAX donde indicas la cuenta de impuestos que corresponda en el campo GL_ACCOUNT y en el de TA el indicador de impuestos que sea. Así mismo, poner la partida de impuesto en CURRENCY AMOUNT. Porque aunque pongas checkbox de calcular impuestos lo que hace que te calcule es el indicador que es el que lleva el % de impuesto.

Espero sea útil mi comentario.

Saludos.

Gracias @octaviop, ya hice todo eso, solo me faltó calcular yo mismo el Impuesto pero no es lo que perseguía.

Estimado yo he trabajado con esta bapi y siempre he llenado accounttax de manera manual, esto pasa en varias bapi ya que la transaccion estandar antes de invocar a la bapi, invoca a otras funciones que hacen el calculo y luego se invocan a las bapi o funciones respectivas de creacion

Saludos

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