api-to-roefact by RENware Software Systems
CHANGELOG 0.1.7.dev
0.1.7 xl2roefact.RDINV
invoice items & metadata (231126 h05:00)
-
left OPEN ISSUES in this release [piu@231126: marked on todo plan of
0.1.8
version]- (CLOSED@231213) file
xl2roefact/rdinv.py
, function__mk_kv_invoice_items_area(...)
:FIXME this will be identified in
invoice_header_area==> should be changed accordingly
- --> file
xl2roefact\invoice_files/_PLAN_model_test_factura_generat_anaf.xml
, line 114:<cbc:ID>S</cbc:ID> #FIXME clarify.me_ pare a fi TIPUL PRODUSULUI: (S)erviciu sau ??? (P)rodus sau ???
- (CLOSED@231213) file
-
231126piu_a item(s) line extensions == item VAT total, item VALUE total
-
231125piu_c changed dir
excel_invoices/
withinvoice_files/
-
231125piu_b make a plan from
__model_test_factura_generat_anaf.xml
marking TODOs & DONE tags & renaming as_PLAN_...idem...
-
231125piu_a final review, complete find of invoice relevant columns and write them in
invoice
dict:- quantity (cbc:InvoicedQuantity),
- VAT percent (cbc:Percent),
- description (cbc:Name),
- uom (cbc:unitCode),
- unit price (cbc:PriceAmount),
- currency (c:currencyID)
-
231224piu_a FIXED VAT calculation for lines which specify a VAT as 0% - USE CASE lines for other taxes like "acciza"... - still unsolved for very simplified invoices (see code line containing text "
_vat_percent
calculation should also") -
231123piu_c
rdinv
module, defined functionlibutils.isnumber(a_string: str) -> bool
to test is a string is valid as any kind of number -
231123piu_b
rdinv
module, function to search for a list of string in a list items (suitable to identify useful / relevant invoice columns from Excel format) ==>__find_str_in_list(str_to_find: str, list_to_search: list)
-
231123piu_a prepared function
__mk_kv_invoice_items_area(...)
to transforminvoice_items_area
in "canonical JSON format" (as kv pairs) -
231122piu_a
invoice_items_area
&meta_info
review, check and clean code -
231121piu_a final
invoice
dict / JSON data: moved all effective data under key"excel_data"
(preparing so for final storable invoice "real keys") -
231119piu_b
invoice_items_area
set unknown rows header to<current line number>.NOTE-<seq>
, whereseq
is an ordered sequence of letters (ie, resulting something like:1.a, 1.b, ...
) * 231119piu_a closed:- invoice
meta_info
area - a more defined, clean & clear
invoice_items_area
- add
last_processing_UTCtime
inmeta_info
dictionary - written
invoice
dict to a JSON (f-JSON
file, see doc:https://apitoroefact.renware.eu/commercial_agreement/110-SRE-api_to_roefact_requirements.html#vedere-de-ansamblu-a-solutiei
)
- invoice
-
231112piu_a refactor:
-
base_proc
toxl2roefact
-
BASE_PROC
toxl2roefact
- update documentation
- publish site
-
-
231109piu_a installed module
pylightxl
in base environment (ie, in project root) to allow modules calling from root for future web components & updated requirements.txt -
231108piu_f RDINV (
rdinv.py
) secure for "unwanted crashes" errors (missing info) & clean code -
2811080iu_e install
mkdocstrings
, updatemkdocs.yml
and create a markdown document for xl2roefact component (did) not succeeded search for 'FIXME temporary disabled because errs' ...longer_string_... -
231108piu_d documented that
XLSX
is the only Excel file format supported (in110-SRE-api_to_roefact_requirements.md
) & published site -
231108piu_c xl2roefact (
xl2roefact.py
) transformed in class & parametrized worksheet name containing invoice ==> class BaseProc() -
231108piu_b RDINV (
rdinv.py
) module set directories environment & open invoice -
231108piu_a consolidate decomposition (from
231107piu_c
) ==> directory.../xl2roefact/modules/
-
231107piu_c transform decomposition (from
231107piu_b
) into complete Python modules (making directories for each) -
231107piu_b created module files according to decomposition (specs doc
110-SRE-api_to_roefact_requirements.md
) -
230107piu_a made a first DRAFT runnable CLI program with
Typer
(https://typer.tiangolo.com/
) fromxls2xml.py
==>dist/xls2xml.exe