El Àgora se cerró. Aquí un archivo de lo que fue Tuesday January 23, 2018.

Presupuestos Orgánicos

escueto

Hola amigos.
Hemos trabajado los Prepuestos I-E y los Gatos S-E siguiendo las pautas que hemos encontrado en los post de este Agora.
Ahora queremos que uno de los gráficos se parezca al presupuesto que nos suministra el Ayto del estilo:

Area 11 Pratimónio Historico
11 3360 48900 sub Fundación
Area 13 Seguridad Ciudadana
SEGURIDAD
13 1300 21200 Mtto edificios
....
PROTECCION CIVIL

Etc.

Hemos pensado utilizar los graficos para presupuestos Orgánicos utilizando esta nomenclatura:
S
S-O
S-O-11 AREA 11 ---> PATRIMONIO HISTORICO
S-O-11-110336048900 48900 --> sub Fundación
S-O-13 AREA 13 ---> SEGURIDAD CIUDADANA
S-O-13-131 1
S-O-13-131-131130021200 21200 -->Seguridad ciudadana

(omito las cantidades económicas)

Cogemos el Código del Area, luego 1,23, etc en función del apartado.
Luego el programa y luego la C-Economica.

Os parece correcto, es la forma que se nos ha ocurrido para aunque damos tambien los otros presupuestos lo veaamos todo un poco mas claro.

Hemos creado dos instalaciones de OCAx.

Aquí, hacemos las pruebas y las chapucillas.
ocax.desdelaterraza.org

La página oficial (en fase de pruebas)
ocmaranjuez.org

Muchas gracias a tod@s por la ayuda.

E.Cueto

jalors

Hola @escueto

si te he entendido bien, vuestra intención es mosrar el desglose por organismos, de esta manera ORGÁNICO-PROGRAMAS-ECONÓMICO

Mírate los gastos orgánicos del 2015 de www.ocmmalaga.org/budget donde lo presentamos así desglosado (O-P-E).
Míratelo, y si es lo que buscáis, explico cómo lo hemos hecho,

un saludo

escueto

Hola @jalors

Si entras en: ocmaranjuez.org, en los presupuestos de 2015, en el apartado de Gastos orgánicos, hemos echo el esquema por Áreas de gasto del Ayt.

Y para componer el internal Code lo hacemos de la siguiente manera:
Cogemos el Código del Área + 1,2,3 etc en función del apartado + cod programa + C-Economica.

Por ejemplo:

S-O-13.......................................area 13.................SEGURIDAD CIUDADANA
S-O-13-131.....................................1......................Seguridad
S-O-13-131-131130021200........21200 -----------> Mto Edificios Policia Local

Area....Apartado...prog.....C-Econo
13...........1..........13000.......21200

(Que difícil es maquetar...)

No se si te queda clara mi duda.

Un saludo y muchas gracias.

E.Cueto

jalors

Ok, ya lo veo

Primero mostráis la clasificación orgánica, después los programas de cada organismo/área y después los subconceptos/partidas de ese programa.
Nosotros lo hacemos igual, así que como planteamiento de mostrar la información, genial, estamos de acuerdo.
En lo que nos diferenciamos es en la manera de desglosar, nosotros mostramos más niveles de desglose para tener la información mejor organizada y que la navegación sea más clarificadora.

Estos son los niveles que mostramos:

Nivel 1 Por un lado, el Ayuntamiento como gran empresa (no como cosmos o corporación de empresas), y en el mismo nivel, los Organismos Autónomos, las Empresas Municipales y las Fundaciones Municipales

S-O-77777 ---------------- AYUNTAMIENTO
S-O-1 ----------------------- OOAA
S-O-2 ----------------------- EEMM
S-O-3 ----------------------- FFMM

La pregunta que os hago es: ¿tenéis empresas municipales u otros organismos públicos que dependan de sí mismos y que tengan su presupuesto? En ese caso podría ser interesante mostrarlos, y para ello necesitaríais algún nivel superior

Nivel 2 Las áreas que hay dentro del ayuntamiento (son 42). En OOAA, EEMM y FFMM, mostramos los entes concretos (8 OOAA, 13 EEMM y 2 FFMM)

S-O-77777-777770 ---------------- Área Genérica
S-O-77777-777771 ---------------- Área de Cultura
S-O-77777-777772 ---------------- Servicios operativos ............ etc

Nivel 3 En el Ayto, ya muestra los programas dentro de cada área, nos vamos directamente al nivel de programa (4 dígitos), tal como lo teneis vosotros.

Nivel 4 A partir de aquí, empieza la clasificación económica, que está dentro de cada programa y de cada área/organismo. Esta es la principal diferencia con vuestro planteamiento, nosotros desglosamos en capítulo, artículo concepto y subconcepto/partida.
En vuestro ejemplo,
S-O-13.......................................area 13.................SEGURIDAD CIUDADANA
S-O-13-131.....................................1......................Seguridad
S-O-13-131-131130021200........21200 -----------> Mto Edificios Policia Local

lo haríamos así

S-O-13.......................................area 13.................SEGURIDAD CIUDADANA
S-O-13-131.....................................1......................Seguridad
S-O-13-131-1311300...................1300 -----------> El programa 1300
S-O-13-131-1311300-13113002..........2 Gasto corriente en bienes y servicios
S-O-13-131-1311300-13113002-131130021...................21 Reparac, mantenim y conserv
S-O-13-131-1311300-13113002-131130021-1311300212.................Edificios y otras construcc
S-O-13-131-1311300-13113002-131130021-1311300212-131130021200.................Mto Edificios Policia Local

Lo hacemos así porque nosotros tenemos mucho desglose dentro de cada programa, por lo que ir directamente al subconcepto son salen unos quesos con muchas particiones que lo hace inmanejable. Si sólo tenéis un subconcepto o dos dentro de cada programa pues hacedlo como lo habeis pensado, pero tendréis que revisar manualmente todos los internal code,

Nosotros lo hemos medio-automatizado así.

Partimos de una base de datos 'pura'. Una hoja de cálculo con las siguientes columnas:

después decidimos los niveles que queremos mostrar y hacemos otra hoja de cálculo con el desglose para generar el internal code

como veis, lo que hacemos es poner columnas por cada nivel que necesitamos mostrar en el internal code. Aquí podéis ver que desglosamos la clasificación económica. Utilizamos fórmulas del tipo =IZQUIERDA(A1;1) para desglosar el código económico.

Una vez teneis todas las columnas, podéis utilizar una sencilla fórmula para generar el internal code
=(A2&"-"&B2&"-"&B2&C2&"-"&B2&C2&D2&"-"&B2&C2&D2&E2&"-"&B2&C2&D2&E2&F2&"-"&B2&C2&D2&E2&G2&"-"&B2&C2&D2&E2&H2&"-"&B2&C2&D2&E2&I2)
Lo único que hace es ir construyendo el internal code en base al contenido de las columnas

Lo hacemos así porque nosotros manejamos unas 8000 partidas por año, y las queremos mostrar desglosadas en las tres clasificaciones.

El csv resultante de aquí, serán partidas al máximo desglose. Las podeis subir para que OCAx genere un fichero con los niveles superiores y sus sumas correspondientes. Como se trata de una clasificación orgánica, OCAx no tendrá la descripción de vuestros códigos, por lo que tendréis que revisar el csv y cambiar los 'concept' con valor UNKNOWN por el correcto.
Para esta tarea nosotros utilizamos la instrucción BUSCARV y tiramos de nuestros catálogos orgánicos codificados

Os dejo nuestra hoja de cálculo de trabajo por su os sirve nuestra metodología, AQUÍ

Después de sufrir mucho con los csv, es lo que mejor resultado nos ha dado.

un saludo

jalors

Aprovecho para saludarte @omgs,
él estuvo dedicándole mucho tiempo a 'automatizar' la generación de csv, y tuvimos hace tiempo una sesión de mumble. En nuestra metodología hay mucho de su trabajo,
Él trabajó la generación de 'internal code' mediante scripts
...nosotros nunca llegamos a eso...

seguro que puede aportar otra visión

escueto

Muchas Gracias @jalors
¡Vaya currazo!, me has dado todo un manual de como hacerlo.

Te lo agradecemos mucho, y me pondré a estudiar la hoja de calculo que me envías.

Me parece importante dejar claro al principio, entre nosotros, como vamos a codificar cada año, porque si no, seria un currazo cambiar luego todos los internal code o hacer comparación entre años de presupuestos.

Yo personalmente me puse a trabajar con Filemaker para automatizar todos los procesos, de echo todo el presupuesto Orgánico, lo he generado con varios Script de Filemaker porque me manejo mejor con él que con las hojas de calculo.
Pero también va a llevarme mucho trabajo hasta tener algo operativo y libre de bugs.

Sobre todo nuestro principal curro es que el Ayto (bueno, no ellos que no los publican, me los pasa IU) nos pasan los presupuestos en formato PDF y aunque utilizo wondershare para convertirlo a hoja de calculo es un trabajo.

Un gran abrazo.

E.Cueto

jalors

Gracias a vosotros, oye, interesante vuestro planteamiento de scripts y métodos de trabajo
No os corteis en poner aquí vuestros avances, nos servirán a tod@s

Un abrazo

omgs

Buenas, Joan.

Estoy un poco liado pero creo que no se puede dejar que el trabajo de la gente se quede en punto muerto. Yo hice una hoja de cálculo donde se podían plasmar las cifras individuales de cada partida, englobadas en su correspondiente clasificación orgánica, de programa y económica, para no duplicar datos. Estaba inspirado en cómo se publica el detalle de los PGE, y con esa estructura, pues "simplemente" exportar esos datos y, a partir de ellos, realizar las operaciones necesarias para "convertirlas" a formato ocax.

A más largo plazo, y al igual que presupongo que se hace en la realidad en las distintas administraciones, tendrán un dato y luego, a partir de la acumulación correspondiente, se publican las liquidaciones. Partiendo de este hecho simple, y que creo que se debería normalizar, es como deberían introducirse los datos. Claro que tiene sus dificultades, que hay que adaptar una "plantilla" a la estructura presupuestaria de cada municipio, pero una vez hecho esto, se ve todo de una forma más clara y, además, ese trabajo facilita enormemente el de años posteriores.

Bueno, el tema tiene su historia, y es complicado de explicar en un post, pero si alguien quiere profundizar en la forma de resolver estos problemas, siempre puedo echar una mano.

jalors

@omgs, no entiendo muy bien lo de permitir que el trabajo de la gente caiga en un punto muerto...
Los OCM que trabajamos al nivel de detalle de partidas que has descrito lo hacemos, más o menos, creo, como lo has explicado, introduciendo datos en una plantilla, base de datos madre...o llamalo como quieras, pero no directamente en un csv. Si a lo que te refieres es al desarrollo de vuestra plantilla de trabajo, proponla aquí, seguro que a mucha gente le parece interesante. Por nuestra parte, sólo exponenos nuestra experiencia, la que nos está funcionando, y parece que no dejamos a nadie en punto muerto, a juzgar por los post.

En desacuerdo contigo con no desarrollar estos temas aquí, creo que es el sitio donde hay que hacerlo, para que aprendamos todos y podamos unificar criterios si es necesario.

Un saludo

omgs

Buenas. No, no me refería a que tu trabajo ni el de nadie hiciera que cayera en un punto muerto, todo lo contrario. Me refería a ofrecer otra forma de llegar al mismo punto, porque mi percepción es que, con la mejor intención y con un trabajo excepcional detrás, se puede mejorar la forma en que actualmente está concebida la forma de generar los datos para introducirlos en ocax. Sólo me refería a esto, como Chris sabe, y que ya comenté en su día con él, y también contigo.

Si alguien está interesado en este asunto, estaré encantado de ayudar. Si el interés es general, habrá que ver entre todos cómo llevarlo a cabo. Como la explicación excede de un post, obvio hacerlo aquí, invitando a hacer una sesión de mumble para ello.

Saludos.

electroduende21

Hola a todos.
Estamos montando un OCM en Zgz, http://ocmzaragoza.net/budget
pero la clasificación orgánica se nos resiste.
Alguien puede echar un vistazo a nuestro cvs?

No entiendo cómo hace para:
Dibujar las "áreas de gasto" (nivel 1) con su desglose correcto en "unidades de gasto" (nivel 2)... ect hasta las partidas.
pero también, muestra esas "unidades de gasto" (nivel 2) como si fueran "áreas" (nivel 1).
???

chris

Buenas,

Si nadie te contesta, (ya que la cosa va floja) siempre puedes bajar el csv de otro ocm que tiene hecho los orgánicos y echarlo un vistazo.

Saludos!

jkrespo

Buenas, hace unas semanas actualicé la base de datos con una nueva codificación, y todavía no me gusta como queda.
Mi idea es que en los presupuestos también se incluyan las cuentas del Ayuntamiento y de los Organismos Autónomos, como hace (o hacía) el OCM de Málaga.
Las empresas públicas y consorcios no tienen el formato de contabilidad pública, por eso no los incluyo.

Mi libro de hoja de cálculo para generar el csv tiene tantas hojas como presupuestos se van a mostrar, es decir:
Ingresos Ayto, Ingreso OA1, Ingresos OAN...
Gastos Ayto, Gastos OA1, Gastos OAN...
Estos son los ficheros que importamos directamente en bruto de la administración local, donde lo importante es tener las siguientes columnas:
Clasificación Orgánica (Cada Ayuntamiento tiene la suya propia)
Clasificación Programas (Se subdivide más adelante en tres columnas que generarán totales, actualmente 4 dígitos)
Clasificación Económica (Se subdivide más adelante en tres columnas que generarán totales, actualmente 3-5 dígitos)
Descripción de la partida
Initial Provision ->Crédito Inicial
Actual Provision -> Crédito Definitivos si tenéis el presupuesto liquidado o el mismo importe que crédito inicial.
Trimestre 4 opcional (si tenéis el importe de los presupuestos liquidados que equivale en presupuestos locales a la columna Obligacones Reconocidas Netas)

En el caso de los ingresos la columnas de importes (que utilizo) son:
Initial Provision ->Previsiones Presupuestarias
Actual Provision -> Derechos Reconocidos Netos si teneis presupuesto liquidado o el mismo importe que initial Povision
Trimester 4 (Optional) -> Recaudación si teneis el presupuesto liquidado, y así obtener el grado de ejecución.

Esto en la parte de importación de datos.

-0-0-0-0-0-0-0-0-0-0-0-0-0
Manipulación

También incluyo 4 Hojas que con las descripciones de las partidas que obtengo a partir de las propias hojas de ingresos y gastos del Ayto y todos los OOAA, una hoja para descripciones de Organos, descripciones de Programas, descripciones economicas y descripciones de entes (Ayuntamiento, OA Deportes, OA Ferias, OA Social, etc...), así como una con descripciones de Ingresos Economicos.
Además de la descripción, va por supuesto el código, que se subdivide en tres columnas, centenas, decenas, unidades, porque el programa genera totales a nivel de capítulo, artículo y concepto.
Se pueden obtener de internet, o copiando y pegando de la importación, como queráis.

Mucho ojo porque hay una cuenta que es DEUDA, que es 011, y al tratarla de manera numérica, el 0 nos hará un follón, mejor tratarla como texto, poniendo '011, (a mí me dio menos problemas al codificarla respetando las posiciones de capítulo, articulo, concepto y hacer totales.)

Una vez teniendo estas hojas, pasamos a la generación de los internal code para que el ocm genere los totales.
El presupuesto de ingresos es sencillo, pues es una clasificación económica de ingresos sin más agrupaciones, aunque he visto que en Zaragoza también usan órganos y clasificación económica.

GENERAR INTERNAL CODE.
El tema generar códigos es el que estoy tratando de limpiar para que me quede más simple y fácil de leer.

Dependiendo del tipo de presupuesto que se quiera generar, creo 4 hojas más, generar organica, gen economica, gen programa, y generar ingreso.

  1. Raíz, Tipo de presupesto, Gasto o Ingreso, Organico, Programa, Economico. Solo una vez. (S-O,S-E,S-P,I-E)
  2. (Opcional) Tipo de Entidad, En mi caso incluyo presupuestos para el Ayuntamiento y los distintos OOAA. Si solo se hace sobre el Ayuntamiento no se utiliza. Es un número o letra que se corresponde con el código que hemos incluido en la hoja del correspondiente presupuesto importado. Referencia relativa y se rellena con todos los asientos de la columna.
  3. Dependiendo del tipo de código que queramos crear, para orgánica, económica o programa, el orden de las siguientes columnas es variable.
    a)S-O:raíz-entidad-organo-programa-economica (dividido en capitulo, articulo, concepto y subconcepto, 4 columnas).
b)S-E:raiz-entidad-economica(dividido en capitulo, articulo, concepto y subconcepto), programa-organo u organo-programo, como querais, pero debe quedar un registro único

c) S-P:raiz-entidad-programa (dividido en capitulo, articulo y concepto)-economica-organo u organo-economica, como querais, pero debe quedar registro único.

d) I-E: raiz-entidad-IngresosEconomicos(divididos en capitulo, articulo, concepto, subconcepto) y organo opcional si los datos importados tienen esta caracteristica.

La manera de generar el codigo en una hoja de calculo con las formulas se ha explicado, concatenando con el & y guiones.

Hay que ir con cuidado porque en esa misma hoja de generar presupuestos, si se incluyen todos los entes, hay que ir pasando a los gastos de los OOAA para cambiar las referencias a las celdas.

Para las descripciones utilizo el buscarv, solo interesa por ahora, en generar internal code la descripcion economica, tanto para gastos, como la unica que tiene ingresos, y a su ultimo nivel, al de subconcepto.

Con esto hemos generado el internal code y tenemos vinculada la descripcion

-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
Ahora creamos dos hojas nuevas, csvgastos y csvingresos.
Las cabeceras de columnas son exactamente iguales para las dos.
En internal code pegamos (solo datos, sin formula) el internal code y en descripcion, hacemos lo mismo.
Referenciamos para los diferentes importes, inicial, actual, etc... las celdas que nos interesan de nuestros datos importados originalmente, ojo si hay entidades, no olvidarnos de ninguna y ya tenemos datos para crear el csv.

Copiamos hoja en un libro nuevo, lo guardamos en formato csv, utf8, numeración usa, separador la barra pipeline y subimos el archivo al ocm.
Nos genera un archivo con totales, lo guardamos, yo le llamo S-$paso1.
Así sucesivamente para los distintos presupuestos de gastos organico, economico y de programa.
A la hora de copiar y pegar de la hoja de generar a la hoja csvgastos, solo hay que hacerlo en la columna internal code, pues los importes y las descripciones deben ser indénticas.

En la hoja csvingresos se hace lo mismo solo que una sola vez.

Despues de convertirlo a csv y subirlos al ocm tiene que haber pues los ficheros SO, SE, SP e IE y los ficheros SOpaso1, SEpaso1, SPpaso1 e IEpaso1.

Ahora trabajaremos sobre estos 4 ficheros y los integraremos copiando y pegando en un solo libro nuevo que se llamara total20xx.csv y contendrá monton de UNKNOWN que son los totales de capitulos y articulos.

En este fichero totalxxxx.csv copiamos las 4 hojas que habíamos generado en nuestro libro primario que contenian las descripciones, organica, economica, programas, entidades, ingresos.

Mediante filtros y buscarv, cada vez que aparezca UNKNOWN sustituir.

Guardar los cambios hasta que no os quede ningun simbolo raro y fenomenal.
Menos mal que esto se hace solo una vez al año¡¡¡¡¡

electroduende21

Gracias por la respuesta tan detallada!!.
Tenemos datos de las denominaciones de los subconceptos, pero aún no hemos encontrado el resto.
Voy a intentar generar otra vez el gasto orgánico, por fases, a ver si así se va corrigiendo.

He visto que en el OCM de badajoz el archivo Zip está vacío. ¿Podrías compartir el csv?
Ya puestos, ¿podrías compartirnos el libro de hoja de cálculo que has utilizado? Quizá podamos aprovechar las fórmulas

jkrespo

presupuesto2016.ods (865,6 KB)

Perdona electroduende.

Hacía mucho que no entraba en el foro y sólo consultaba el email de OCAX.

A ver si este excel te puede orientar algo y llega a tiempo.

Saludos