Release 1.0.0

This commit is contained in:
2026-02-25 10:24:12 +01:00
parent 44fb66adfc
commit c033456bf8
35 changed files with 4891 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
<!doctype html>
<html>
<head>
<title>Buyers Editor</title>
<style>
table { border-collapse: collapse; }
th, td { padding: 6px 10px; border: 1px solid #ccc; }
input { width: 100%; }
</style>
</head>
<body>
<h2>Buyers Incomplete</h2> <br/>
The below list shows buyer-data found incomplete and cannot be sent to the tax-office.<br/>
Add or correct the data and press save.<br/>
If data is found good enough, it will disappear from this list and upon the NEXT interface-run evaluated again.<br/>
This form will NOT show buyer data that has been rejected by the tax office<br/><br/><br/>
<form method="post">
<table>
<thead>
<tr>
{% for col in header %}
<th>{{ col }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for row in rows %}
<tr>
{% for cell in row[:-editable_cols] %}
<td>{{ cell }}</td>
{% endfor %}
{% for i in range(editable_cols) %}
<td>
<input
type="text"
name="row_{{ rows.index(row) }}_col_{{ i }}"
value="{{ row[-editable_cols + i] }}"
>
</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
<br>
<button type="submit">Save</button>
</form>
</body>
</html>
+50
View File
@@ -0,0 +1,50 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Ecosio downloads</title>
<style>
body {
background-color: #eee;
font-family: Monaco, "Lucida Console", "Courier New", monospace;
}
img {
max-width: 33ch;
}
.header {
color: white;
}
.cell {
padding: 5px;
text-align: center;
background-color: #ccc;
}
.content {
background-color: #fefefe;
}
</style>
</head>
<body>
<table>
<tr><td></td><td><h3>Available for download</h3></td><td><h3>System Errors</h3></td><td><h3>Data Issues</h3></td></tr>
{% for date in downloads.keys() %}
<tr>
<td class="cell left">&nbsp;{{ date }}&nbsp;</td>
<td class="cell content">{{ downloads[date][0] }}</td>
<td class="cell content">{{ downloads[date][1] }}</td>
<td class="cell content">{{ downloads[date][2] }}</td>
</tr>
{% endfor %}
</table>
<br/><br/><br/>
<a href="{{ ('downloadaszip') }}">DOWNLOAD ALL AVAILABLE MESSAGES FOR ECOSIO</a>
</body>
</html>
+44
View File
@@ -0,0 +1,44 @@
<!DOCTYPE html>
<html>
<head>
<title>Maintain {{ csv }}</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
padding: 5px;
}
input {
width: 100%;
}
</style>
</head>
<body>
<h2>Maintain {{ csv }}</h2>
<form method="POST">
<table>
<tr>
{% for col in header %}
<th>{{ col }}</th>
{% endfor %}
</tr>
{% for row_index in range(rows|length + 1) %}
<tr>
{% for col_index in range(header|length) %}
<td>
<input type="text"
name="row-{{ row_index }}-col-{{ col_index }}"
value="{{ rows[row_index][col_index] if row_index < rows|length else '' }}">
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
<br>
<button type="submit">Save Changes</button>
</form>
</body>
</html>
+39
View File
@@ -0,0 +1,39 @@
<!doctype html>
<html>
<head>
<title>Rejected IDs</title>
<style>
table { border-collapse: collapse; }
th, td { padding: 6px 10px; border: 1px solid #ccc; }
input { width: 80px; }
</style>
</head>
<body>
<h2>Find Rejected IDs</h2> <br/>
<form method="post">
<table>
<tr>
<td>For invoices created later than: </td>
<td><input type="text" name="date" placeholder="YYMMDD"></td>
</tr>
<tr>
<td>For countrycode:</td>
<td><input type="text" name="countrycode" placeholder="XX"></td>
</tr>
<tr>
<td>For invoice-ids:</td>
<td><textarea name="invoices" rows="9" cols="50"></textarea></td>
</tr>
<tr>
<td></td>
<td><button type="submit">Find</button></td>
</tr>
</table>
</form>
</body>
</html>
+45
View File
@@ -0,0 +1,45 @@
<!doctype html>
<html>
<head>
<title>Invoice requests</title>
<style>
table { border-collapse: collapse; }
th, td { padding: 20px; }
button { height: 110px; width: 110px;}
</style>
</head>
<body>
<br/><br/><br/>
<table>
<tr>
<td><a href="{{ url_for('download')}}"><button type="button">Download Messages</button></a></td>
<td><a href="{{ url_for('get_invoices')}}"><button type="button">Show Message</button></a></td>
<td></td>
<td><a href="{{ url_for('monthlyreport')}}"><button type="button">Monthly Report</button></a></td>
</tr>
<tr>
<td></td>
<td><a href="{{ url_for('broken_buyers')}}"><button type="button">Repair Broken Buyers</button></a></td>
<td><a href="{{ url_for('maintain_csv',csv_file='buyersdata_repaired')}}"><button type="button">Maintain Repaired Buyers</button></a></td>
<td><a href="{{ url_for('find_rejectedids')}}"><button type="button">Find Rejected Buyers</button></a></td>
</tr>
<tr>
<td><a href="{{ url_for('maintain_csv',csv_file='stores_to_invoice')}}"><button type="button">Maintain Stores to interface</button></a></td>
<td><a href="{{ url_for('maintain_csv',csv_file='offices')}}"><button type="button">Maintain Offices</button></a></td>
<td><a href="{{ url_for('maintain_csv',csv_file='translations')}}"><button type="button">Maintain Translation table</button></a></td>
<td><a href="{{ url_for('earliestdate')}}"><button type="button">Maintain Earliest process date</button></a></td>
</tr>
<tr>
<td><a href="{{ url_for('show_log', loglevel=1)}}"><button type="button">Issue Log</button></a></td>
<td><a href="{{ url_for('showPoslogs', status=2)}}"><button type="button">Database Tables</button></a></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<br>
</body>
</html>
+39
View File
@@ -0,0 +1,39 @@
<!doctype html>
<html>
<head>
<title>Monthly Report</title>
<style>
table { border-collapse: collapse; }
th, td { padding: 6px 10px; border: 1px solid #ccc; }
input { width: 80px; }
</style>
</head>
<body>
<h2>Monthly Report</h2> <br/>
<form method="post">
<table>
<tr>
<td>Countrycode:</td>
<td><input type="text" name="countrycode" placeholder="XX"></td>
</tr>
<tr>
<td>For sales created in month:</td>
<td><input type="text" name="month" placeholder="YYYYMM"></td>
</tr>
<tr>
<td>Include invoices not reported before that month:</td>
<td><input type="checkbox" name="include_older" value="1" checked></td>
</tr>
<tr>
<td></td>
<td><button type="submit">Download CSV file</button></td>
</tr>
</table>
</form>
</body>
</html>
+57
View File
@@ -0,0 +1,57 @@
<!doctype html>
<html>
<head>
<title>Buyers ID rejected</title>
<style>
table { border-collapse: collapse; }
th, td { padding: 6px 10px; border: 1px solid #ccc; }
input { width: 100%; }
</style>
</head>
<body>
<h2>Buyers ID Rejected</h2> <br/>
The below list shows buyer-data rejected by the tax-office.<br/>
Correct the compnay info and press save.<br/>
A zip file will be offered with updated ecosio messages.<br/>
You consumer data will not be saved.<br/>
<br/>
<br/>
<form method="post" action="/invoice/repair_rejectedids">
<table>
{% for row in rows %}
<tr>
<td>
{{ row[0] }} <!-- country -->
</td>
<td>
{{row[1]}} <!-- invoice -->
</td>
<td>
{{row[2]}} <!-- receipt -->
</td>
<td>
{{row[3]}} <!-- poslog -->
</td>
<td>
{{row[4] }}<!-- buyername -->
</td>
<td>
<input type="text" name="{{ row[3] }}_orgid" value="{{ row[5] }}">
<!-- orgid -->
</td>
<td>
<input type="text" name="{{ row[3] }}_taxid" value="{{ row[6] }}">
<!-- taxid -->
</td>
</tr>
{% endfor %}
</table>
<br>
<button type="submit">Download updated messages</button>
</form>
</body>
</html>
+32
View File
@@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<title>Invoices Folder</title>
</head>
<body>
<h1>Select a Store / date</h1>
<form method="post">
<input type="text" name="store" size="60" placeholder="A000" value="{{ store }}">
<input type="text" name="date" size="60" placeholder="2026/01/23" value="{{ date }}">
<button type="submit">Show Invoices</button>
</form>
{% if xml_files %}
<h2>Invoices</h2>
<ul>
{% for file in xml_files %}
<li>
<a href="{{ url_for('view_invoice', store=store, date=date, filename=file[0]) }}">
{{ file[0] }}
</a>
:
{{ file[1] }}
</li>
{% endfor %}
</ul>
{% elif folder %}
<p><em>No Invoices found or invalid folder.</em></p>
{% endif %}
</body>
</html>
+25
View File
@@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<title>log</title>
<style>
pre {
white-space: pre-wrap;
word-wrap: break-word;
background: #f4f4f4;
padding: 1em;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<h1>log</h1><br/>
<a href="{{ url_for('show_log', loglevel=0)}}"><button type="button">INFO+</button></a>&nbsp;
<a href="{{ url_for('show_log', loglevel=1)}}"><button type="button">WARNING+</button></a>&nbsp;
<a href="{{ url_for('show_log', loglevel=2)}}"><button type="button">ERROR+</button></a>&nbsp;
<pre>{{ txt }}</pre>
<p><a href="/invoice">Back</a></p>
</body>
</html>
+30
View File
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<title>Earliest date</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
padding: 5px;
}
input {
width: 100px;
}
</style>
</head>
<body>
<h2>Earliest Process date</h2>
<br/>
No transactions from before this date wil be checked for invoices in the "create-invoices" process. <br/> <br/>
<form method="POST">
<input type="text"
name="earliestdate"
value="{{ earliestdate }}">
<br/> <br/>
<button type="submit">Save Changes</button>
</form>
<p><a href="/invoice">Back</a></p>
</body>
</html>
+22
View File
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<title>{{ filename }}</title>
<style>
pre {
white-space: pre-wrap;
word-wrap: break-word;
background: #f4f4f4;
padding: 1em;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<h1>{{ filename }}</h1>
<pre>{{ content }}</pre>
<p><a href="/">← Back</a></p>
</body>
</html>