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.8version]- (CLOSED@231213) file
xl2roefact/rdinv.py, function__mk_kv_invoice_items_area(...):FIXME this will be identified ininvoice_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.xmlmarking TODOs & DONE tags & renaming as_PLAN_...idem... -
231125piu_a final review, complete find of invoice relevant columns and write them in
invoicedict:- 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_percentcalculation should also") -
231123piu_c
rdinvmodule, defined functionlibutils.isnumber(a_string: str) -> boolto test is a string is valid as any kind of number -
231123piu_b
rdinvmodule, 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_areain "canonical JSON format" (as kv pairs) -
231122piu_a
invoice_items_area&meta_inforeview, check and clean code -
231121piu_a final
invoicedict / JSON data: moved all effective data under key"excel_data"(preparing so for final storable invoice "real keys") -
231119piu_b
invoice_items_areaset unknown rows header to<current line number>.NOTE-<seq>, whereseqis an ordered sequence of letters (ie, resulting something like:1.a, 1.b, ...) * 231119piu_a closed:- invoice
meta_infoarea - a more defined, clean & clear
invoice_items_area - add
last_processing_UTCtimeinmeta_infodictionary - written
invoicedict to a JSON (f-JSONfile, 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_proctoxl2roefact -
BASE_PROCtoxl2roefact - update documentation
- publish site
-
-
231109piu_a installed module
pylightxlin 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.ymland create a markdown document for xl2roefact component (did) not succeeded search for 'FIXME temporary disabled because errs' ...longer_string_... -
231108piu_d documented that
XLSXis 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