-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathfv.py
executable file
·103 lines (100 loc) · 2.65 KB
/
fv.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/usr/bin/env vpython3
import sys
from random import randint
import datetime
from dateutil.tz import tzlocal, tzutc
from dateutil import parser
now = datetime.datetime.now(tz=tzlocal())
serial = (now - datetime.datetime(1970, 1, 1, tzinfo=tzutc())).total_seconds()
vcnetto = randint(10, 100)*1.0
vilosc = randint(1, 5)
vnetto = vcnetto * vilosc
vpvat = 23
vvat = vnetto * vpvat / 100.0
vbrutto = vnetto + vvat
prefix = sys.argv[1]
snip, snazwa, sadres = sys.argv[2], sys.argv[3], sys.argv[4]
dnip, dnazwa, dadres = sys.argv[5], sys.argv[6], sys.argv[7]
data = '''\
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Faktura
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://crd.gov.pl/wzor/2023/06/29/12648/">
<Naglowek>
<KodFormularza kodSystemowy="FA (2)" wersjaSchemy="1-0E">FA</KodFormularza>
<WariantFormularza>2</WariantFormularza>
<DataWytworzeniaFa>{datawytworzenia}</DataWytworzeniaFa>
<SystemInfo>eRTa 11.10</SystemInfo>
</Naglowek>
<Podmiot1>
<DaneIdentyfikacyjne>
<NIP>{snip}</NIP>
<Nazwa>{snazwa}</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>PL</KodKraju>
<AdresL1>{sadres}</AdresL1>
</Adres>
</Podmiot1>
<Podmiot2>
<DaneIdentyfikacyjne>
<NIP>{dnip}</NIP>
<Nazwa>{dnazwa}</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>PL</KodKraju>
<AdresL1>{dadres}</AdresL1>
</Adres>
</Podmiot2>
<Fa>
<KodWaluty>PLN</KodWaluty>
<P_1>{rmd}</P_1>
<P_1M>dom</P_1M>
<P_2>{serial}</P_2>
<P_13_1>{vnetto:.2f}</P_13_1>
<P_14_1>{vvat:.2f}</P_14_1>
<P_15>{vbrutto:.2f}</P_15>
<Adnotacje>
<P_16>2</P_16>
<P_17>2</P_17>
<P_18>2</P_18>
<P_18A>2</P_18A>
<Zwolnienie>
<P_19N>1</P_19N>
</Zwolnienie>
<NoweSrodkiTransportu>
<P_22N>1</P_22N>
</NoweSrodkiTransportu>
<P_23>2</P_23>
<PMarzy>
<P_PMarzyN>1</P_PMarzyN>
</PMarzy>
</Adnotacje>
<RodzajFaktury>VAT</RodzajFaktury>
<FaWiersz>
<NrWierszaFa>1</NrWierszaFa>
<P_7>test</P_7>
<P_8A>szt</P_8A>
<P_8B>{vilosc}</P_8B>
<P_9A>{vcnetto:.2f}</P_9A>
<P_11>{vnetto:.2f}</P_11>
<P_12>{vpvat}</P_12>
</FaWiersz>
</Fa>
</Faktura>
'''
data = data.format(
datawytworzenia=now.isoformat(),
snip=snip, snazwa=snazwa, sadres=sadres,
dnip=dnip, dnazwa=dnazwa, dadres=dadres,
rmd=now.strftime('%Y-%m-%d'),
serial=serial,
vnetto=vnetto,
vpvat=vpvat,
vvat=vvat,
vbrutto=vbrutto,
vilosc=vilosc,
vcnetto=vcnetto,
)
open('{}-{}.xml'.format(prefix, serial), 'wt').write(data)