Compare commits
No commits in common. "d9b391d66f2f4944b77717dc42bb2f1a264d95f2" and "b1834fbfcbf08fc81adbe3f6224349d0819e65ed" have entirely different histories.
d9b391d66f
...
b1834fbfcb
23
README.md
23
README.md
@ -1,23 +0,0 @@
|
|||||||
# 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
|
|
||||||
@ -1,69 +0,0 @@
|
|||||||
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