Account_invoice: creating supplier or customer invoices from REST API, SQL, XML or any other method?

Is there any method to create invoices from the REST API or from SQL or by importing from XML?

I currently have a list of about 200 invoices in CSV format. Each of them is a one line invoice, e.g. a single product or a single service with currency, net price, VAT and total.

vendor,invoice_id,date,currency,amount_ex,tax,amount
Acme,456,2022-09-20,USD,100.0,0.0,100.0
"Phone Co",876,2022-09-20,GBP,50.0,0.0,50.0

I have another table that maps the vendor name to the product (e.g. all invoices from Acme are for one unit of the same product)

When importing like this, I would like to ensure that each invoice number is unique / has not been used by the same vendor previously.

It is missing a lot of information to be imported like the taxes applied, the account to book (usually the product) etc.

These things are known for each vendor

E.g.

vendor,product,account,tax_code
Phone Co,phone-calls,Telecoms expenses,Normal-VAT-Reverse-charge
Acme,IT Hardware,Equipment,Normal-VAT

I think most small businesses and freelancers have a set of invoices like this from phone companies, hosting companies, etc. E.g. 12 monthly invoices from the phone company, always the same account code and taxes, the only thing that various is the amount. It would be really useful to find or create a demo using proteus or one of the other APIs to load them quickly.