Sería interesante que en el proceso de creación de subcuentas, se dieran de alta las subcuentas correspondientes a los tipos de IVA dados de alta en la tabla impuestos.mtd (parte de Facturación/Principal)
En el fichero:
contabilidad / principal / scripts / flcontppal.qs
la function oficial_generarSubcuentas(codEjercicio, longSubcuenta)
en la línea 1505 más o menos.
Ver cuales son las cuentas pertenecientes a los tipos especiales "IVASOP" e "IVAREP", y con esas cuentas hacer un bucle con los registros de la tabla impuestos.mtd:
var numImpuestos:Number = this.iface.valorPorClave("impuestos", "count(codimpuesto)", "1 = 1");
numImpuestos *= 2; // Uno para IVASOP y otro para IVAREP.
y añadir las subcuentas correspondientes en un bucle en cuanto detecte que estamos en la cuenta correspondiente:
línea 1559 o por ahí:
if (curCuenta.valueBuffer("idcuenta") == "IVASOP" || curCuenta.valueBuffer("idcuenta") == "IVAREP")
if (auxCSC.length = 3) {
... bucle y añadir subcuentas de IVA en caso de que no existan
}
IMPORTANTE: cuidado con los duplicados, resulta que existe la cuenta 472. y la 4720. (no sé a qué se debe), igual pasa con la 477. y la 4770. y ambas son IVASOP e IVAREP.
Otra cosa: poner en el campo "codimpuesto" el impuesto al que corresponde, rellenando los campos iva y recargo correspondientes.
No estaría mal, mientras se crean las subcuentas, añadirlas a su lugar en los campos codsubcuentarep, idsubcuentarep, codsubcuentasop, idsubcuentasop, de la tabla impuestos.
Igualmente deben añadirse las subcuentas 4700 HP, deudor por IVA y 4750 HP, acreedor por IVA en los campos codsubcuentaacr, idsubcuentaacr, codsubcuentadeu, idsubcuentadeu de esa misma tabla impuestos.
De esa forma todo quedaría automatizado.