Selecteer de taal

In het open source webbased programma FrontAccounting is het grootboekrekeningschema vastgelegd in de tabellen chart_master, chart_types and chart_class. Wij hebben een aavullende tabel gemaakt om betere rapportages te maken vanuit de MySQL database.

TabeL chart_class

Dit is de hoogste tabel en bevat de volgende regels:

cid class_name ctype inactive
1 Activa 1 0
2 Passiva 2 0
3 Eigen vermogen 3 0
4 Opbrengsten 4 0
5 Inkopen 5 0
6 Kosten 6 0

Deze velden zijn toereikend voor de rapporten, welke FrontAccounting zelf genereert. Wil je zelf opvragingen doen en rapporten maken, dan heb je een tabel met aanvullende velden nodig.

Tabel fac_chart_class

We hebben een tabel gemaakt met het voorvoegsel fac (FrontAccounting Custom), waarvan het primaire sleutelveld cid overeenkomthetzelfde veld in de tabel chart_class table.
Dit is de SQL opdracht om de table te maken en te vullen met gegevens:

DROP TABLE IF EXISTS `fac_chart_class`;

CREATE TABLE `fac_chart_class` (
`cid` varchar(3) NOT NULL,
`multiplier` smallint(2) DEFAULT NULL,
`topclass` varchar(20) DEFAULT NULL,
`topclass_nl` varchar(20) DEFAULT NULL,
PRIMARY KEY (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

/*Data for the table `fac_chart_class` */

insert into `fac_chart_class`(`cid`,`multiplier`,`topclass`,`topclass_nl`) values
('1','1','Balance','Balans'),
('2','-1','Balance','Balans'),
('3','-1','Balance','Balans'),
('4','-1','Profit & Loss','Winst & Verlies'),
('5','1','Profit & Loss','Winst & Verlies'),
('6','1','Profit & Loss','Winst & Verlies');

Uitgangspunt is, dat de tabel chart_class gevuld is met de originele waarden. Anders moeten de insert regels aangepast worden.

Het belangrijkste doel is om rapporten op te zetten met een gecombineerde Balans en Winst & Verlies rekening.

  • Het veld "multiplier" zet met de waarden 1 and -1 negatieve bedragen om naar een positieve weergave.
  • Het veld "topclass" wordt gebruikt om onderscheid te maken naar Balans en Winst & Verlies.

Aan de Nederlandse omschrijvingen zijn ook de Engelse vertalingen toegevoegd. Een gebruiker kan deze waarden gemakkelijk aanpassen naar een andere taal.

Query chart_master_extended

Door de uitbreiding met de tabel fac_chart_topclass table is het gemakkelijk geworden om een uitgebreid en goed leesbaar overzicht van de grootboekrekeningen te maken.
Voer de volgende sql query uit:

SELECT
`chart_master`.`account_code` AS `account_code`,
`chart_master`.`account_name` AS `account_name`,
`chart_master`.`account_type` AS `account_type`,
`chart_types`.`name` AS `name`,
`chart_types`.`parent` AS `parent`,
`chart_types1`.`name` AS `name1`,
`chart_types`.`class_id` AS `class_id`,
`chart_class`.`class_name` AS `class_name`,
`fac_chart_class`.`topclass_nl` AS `topclass_nl`,
`fac_chart_class`.`multiplier` AS `multiplier`,
`chart_master`.`inactive` AS `inactive`
FROM ((((`chart_master`
LEFT JOIN `chart_types`
ON ((`chart_master`.`account_type` = `chart_types`.`id`)))
LEFT JOIN `chart_class`
ON ((`chart_types`.`class_id` = `chart_class`.`cid`)))
LEFT JOIN `chart_types` `chart_types1`
ON ((`chart_types`.`parent` = `chart_types1`.`id`)))
LEFT JOIN `fac_chart_class`
ON ((`chart_class`.`cid` = `fac_chart_class`.`cid`)))
ORDER BY `fac_chart_class`.`topclass_nl`,`chart_types`.`parent`,`chart_master`.`account_type` ,`chart_master`.`account_code`

Bij herhaald gebruik of verwerking in een andere query is het verstandig deze query op te slaan als een MySQL View. Een passende naam hiervoor is vfa_chart_master_extended.

Add comment