[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Bokföring à la libre



Karl Hammar wrote:

Anders Wallenquist <anders.wallenquist@kreawit.se> wrote:
...
Kontoplan och SIE-hantering är de två trösklar som måste hanteras om
SQL-ledger skall gå att använda effektivt i Sverige. Personligen är jag
beredd att lägga lite tid och maskinresurser för att åstadkomma detta,
hade gjort det för länge sedan om jag även haft kompetensen (det räcker
inte med att vara en icke praktiserande ekonom ;-)

I ftp://kalle.csb.ki.se/tmp/ver.tgz:
eu-bas: en eu-bas99 kontoplan
ver.pl: innehåller export till SIE-fil (v4)

Hur vill SQL-ledger importera sina kontoplaner, hur ser tabellen ut?

CREATE TABLE "chart" (
  "id" int4 DEFAULT nextval('id'::text),
  "accno" text NOT NULL,
  "description" text,
  "charttype" char(1) DEFAULT 'A',
  "category" char(1),
  "link" text,
  "gifi_accno" text
);


Det magiska är chartype,category,link och gifi_accno. Det senare sannolikt någon främmande form av SIE. Exempel på konto:

INSERT INTO "chart" ("id", "accno", "description", "charttype", "category", "link", "gifi_accno") VALUES(4, '1012', 'Balanserade utgifter för dataprogram', 'A', 'A', 'AR_paid:AP_paid', '234');
INSERT INTO "chart" ("id", "accno", "description", "charttype", "category", "link", "gifi_accno") VALUES(49, '1231', 'Installationer på egen fastighet', 'A', 'E', 'AP_amount:IC_cogs:IC_expense', '236');
INSERT INTO "chart" ("id", "accno", "description", "charttype", "category", "link", "gifi_accno") VALUES(373, '2641', 'Debiterad ingående moms', 'A', 'A', 'AR_tax:AP_tax:IC_taxpart:IC_taxservice:CT_tax', '307');INSERT INTO "chart" ("id", "accno", "description", "charttype", "category", "link", "gifi_accno") VALUES(373, '2641', 'Debiterad ingående moms', 'A', 'A', 'AR_tax:AP_tax:IC_taxpart:IC_taxservice:CT_tax', '307');

Fäst inget avseende vid innehållets riktighet, det är präglat av mina försök att skapa en egen kontoplan innan jag insåg mina begränsningar som redovisningsekonom ;-)

Link används i rapportgeneratorn för bland annat balans- och resultaträkningen.


Sie-filer är rena textfiler skrivna i Dos codepage 437
teckenuppsättning. Nu kom jag inte åt Sie's hemsida, men jag har för
mig att det var www.sie.se. Jag har lagt upp dokumentation på:

ftp://kalle.csb.ki.se/tmp/sieform.pdf

Jag har gjort första steget av en parser för sie-filer:

ftp://kalle.csb.ki.se/tmp/quote.c
Skall kika på den! Vet du hur vanligt SIEs XML-format är? Det kanske är enklare att skriva en parser för XML-formatet med tanke på alla trevliga klasser för detta, inte minst i Perl och PHP som är natetivespråk för flera av de affärssystemslösningar i GPL som jag konfronteras med?

Läser din kod och funderar på hur man enklast använder den, skapar SQL-INSERTs? Det kräver då att man radvis håller sig inom en och samma tabell och kan skapa en atomisk transaktion, annars tvingas man skapa en temporär liten lokal databas eller komplex datastruktur. #TRANS verkar vara en fullständig post, medan kontoplanen är komplex #KONTO, #KTYP, #KPTYP, #IB, #UB etc.

Transaktionstabellen:

CREATE TABLE "acc_trans" (
  "trans_id" int4,
  "chart_id" int4,
  "amount" float8,
  "transdate" date DEFAULT date('now'::text),
  "source" text,
  "cleared" bool DEFAULT 'f',
  "fx_transaction" bool DEFAULT 'f',
  "project_id" int4
);


Sedan använder SQL-ledger olika "verifikat"-tabeller beroende på vilket delsystem som genererar verifikatet.

Exvis:
CREATE TABLE "ap" (
  "id" int4 DEFAULT nextval('id'::text),
  "invnumber" text,
  "transdate" date DEFAULT date('now'::text),
  "vendor_id" int4,
  "taxincluded" bool DEFAULT 'f',
  "amount" float8,
  "netamount" float8,
  "paid" float8,
  "datepaid" date,
  "duedate" date,
  "invoice" bool DEFAULT 'f',
  "ordnumber" text,
  "curr" char(3),
  "notes" text,
  "employee_id" int4
);


--
Hälsningar,
- --
~  .''`. Anders Wallenquist, anders.wallenquist@kreawit.se
~ : :' : 0709 - 565 160 ~ `. `' http://www.kreawit.se ~ `-- http://www.rfa.se
begin:vcard
fn:Anders Wallenquist
n:Wallenquist;Anders
org:Kreawit
adr;quoted-printable:;;Furugatan 4b;Link=C3=B6ping;;582 45;sweden
email;internet:anders.wallenquist@kreawit.se
title:Senior consultant
tel;work:013-352950
tel;home:013-127383
tel;cell:0709-565 160
x-mozilla-html:FALSE
url:http://www.kreawit.se
version:2.1
end:vcard


Reply to: