Compare commits
2 Commits
b1834fbfcb
...
d9b391d66f
| Author | SHA1 | Date | |
|---|---|---|---|
| d9b391d66f | |||
| b53cf3ba09 |
23
README.md
Normal file
23
README.md
Normal file
@ -0,0 +1,23 @@
|
||||
# VISMA HELPERS
|
||||
|
||||
## Hur kan jag änvända dessa skript
|
||||
findUniques.py behöver en textfil som man skapar själv och kopierar genom att markera verifikationer från ett konto i webläsaren.
|
||||
|
||||
findUniques2.py hämtar in en excellfil från visma och reder ut vilka debet-verifikat som är kopplade till vilka kredit-verifikat (slarvigt än sålänge). Detta ger en ett hum om vilka saker som kan vara fel.
|
||||
|
||||
## Hur får jag tag i excellfilen.
|
||||
1. gå in i kontoanlys > huvudbok
|
||||
2. klicka på "Skriv ut" längst ner till vänster
|
||||
3. skriv in i "från konto" och "till konto" det konto du vill undersöka
|
||||
4. skriv in ditt kostnadsställe
|
||||
5. klicka på pilen ner brevid "Visa" och välj "Skapa csv (Excel)"
|
||||
6. kopiera in filen i samma mapp som findUniques2.py och döp om csv-filen till "konto.csv".
|
||||
|
||||
## Hur kör man?
|
||||
använd python3 interpreter och starta genom:
|
||||
|
||||
python3 findUniques.py
|
||||
|
||||
Eller:
|
||||
|
||||
python3 findUniques2.py
|
||||
69
findUniques2.py
Normal file
69
findUniques2.py
Normal file
@ -0,0 +1,69 @@
|
||||
import csv
|
||||
print("Detta program rapporterar skillnader mellan verifikat som refererar till varandra genom beskrivningen av verifikatet. Den utgår från krediter och hittar matchande debeter")
|
||||
|
||||
lines = []
|
||||
result = []
|
||||
with open("konto.csv", "r") as file:
|
||||
lines = file.readlines()
|
||||
|
||||
startLine = 12
|
||||
|
||||
# READING
|
||||
|
||||
for i, line in enumerate(lines):
|
||||
if "Konto" in line and "Verifikation" in line:
|
||||
startLine = i
|
||||
break
|
||||
|
||||
with open("konto.csv", "w") as file:
|
||||
file.writelines(lines[startLine:-1])
|
||||
|
||||
with open("konto.csv", "r") as file:
|
||||
csvreader = csv.DictReader(file, delimiter=";")
|
||||
for row in csvreader:
|
||||
result.append(row)
|
||||
with open("konto.csv", "w") as file:
|
||||
file.writelines(lines)
|
||||
|
||||
# FILE RESTORED, PARSE DATA
|
||||
|
||||
krediter = {}
|
||||
debeter = {}
|
||||
header = result.pop(0)
|
||||
for line in result:
|
||||
if not line['"Verifikation"']:
|
||||
continue
|
||||
if line['"Kredit"'] and float(line['"Kredit"'].replace(",",".").replace(" ","")) > 0:
|
||||
krediter[line['"Verifikation"'].replace(" ","")] = line
|
||||
elif line['"Debet"'] and float(line['"Debet"'].replace(",",".").replace(" ","")) > 0:
|
||||
debeter[line['"Verifikation"'].replace(" ","")] = line
|
||||
|
||||
|
||||
sums = {}
|
||||
|
||||
for kVerf, kLine in krediter.items():
|
||||
sums[kVerf] = {"value": -float(kLine['"Kredit"'].replace(",",".").replace(" ","")), "debets": []}
|
||||
toDel = []
|
||||
for dVerf, dLine in debeter.items():
|
||||
if kVerf + " " in dLine['"Beskrivning"'] or dLine['"Beskrivning"'].endswith(kVerf):
|
||||
sums[kVerf]["value"] = sums[kVerf]["value"] + float(dLine['"Debet"'].replace(",",".").replace(" ",""))
|
||||
sums[kVerf]["debets"] = sums[kVerf]["debets"] + [dVerf]
|
||||
toDel.append(dVerf)
|
||||
for dVerf in toDel:
|
||||
del debeter[dVerf]
|
||||
|
||||
|
||||
for verf, a in sums.items():
|
||||
if abs(a["value"]) > 0.0001:
|
||||
print(verf, ": ", a)
|
||||
|
||||
#seen = {}
|
||||
#
|
||||
#for verf in content:
|
||||
# if verf[1] not in seen.keys():
|
||||
# seen[verf[1]] = verf[0]
|
||||
# else:
|
||||
# seen.pop(verf[1])
|
||||
#
|
||||
#for kr, verf in seen.items():
|
||||
# print(verf, kr)
|
||||
Loading…
x
Reference in New Issue
Block a user