Invoice plane to invoice ninja

Hello,

I am a current user of the invoice plane software and I’m looking for this alternative. Has anyone ever attempted to import data from invoice plane to invoice ninja?

If you’re a programmer you can add import transformers to add support for importing the data.

https://github.com/invoiceninja/invoiceninja/tree/master/app/Ninja/Import

FYI… you can try using https://github.com/turbo124/Plane2Ninja to migrate your data.

First of all, good choice. I was using invoiceplane for quite a while when I realized updates weren’t happening very quickly and there were new problems with each release. I wrote some mysql queries that I ran in PHPMYADMIN to extract pertinent information and exported as a CSV. There was a little bit of work that had to be done by hand but it wasn’t too bad. I have 190 invoices. If you have much more than that, my method might not be the best for you. Happy to provide information if you want though.

Hi Hillel,

If you’re a programmer you can add import transformers to add support for importing the data.

https://github.com/invoiceninja/invoiceninja/tree/master/app/Ninja/Import

Could you provide some information as to how the data should be formatted, when imported as a CSV?

  • Should each item in an invoice be an individual entry, all connected by the same invoice ID? (And would that be simply the $counter_id, or the entire pattern-formatted invoice ID?)
  • Payments are added to the invoice as a whole, not to individual items. Would that be done by adding an entry with the invoice ID, amount paid, and no product IDs? Or is there some way of formatting child "nodes" within the import CSV?
FYI… you can try using https://github.com/turbo124/Plane2Ninja to migrate your data.
It would be useful if a sample .env config could be provided with that... I've raised an issue on the repo.

Cheers,

After posting the comment I found out InvoicePlane doesn’t have an export feature, without it creating transformers doesn’t make sense.

I’m grabbing the data directly from the database to create a suitable CSV.

My above questions were based from analysing the CSV invoice transformer:
https://github.com/invoiceninja/invoiceninja/blob/master/app/Ninja/Import/CSV/InvoiceTransformer.php

Doug

  • Yes, each item should be its own line with same invoice number
  • You can include a ‘paid’ column to mark the invoice as paid

I think you’d probably be better off using the importer.

The Plane2Ninja importer doesn’t provide any details on exactly which variables need defining in the .env file. There’s no sample config & there’s no information in the README.

I saw that I can set a paid column, however I’m unsure as how to format the CSV entries to distinguish between item data & invoice data.
For example, for a fully paid up invoice with one item, does the following look correct?


client_id,invoice_number,paid,invoice_date,due_date,product,amount,quantity
1,435922,200.00,2016-04-22,2016-05-22,,,
1,435922,,,,1a2hx4,100.00,2

Please followup with the package’s maintainer for help using the tool, it was recently released and still needs refinement.

I believe all of the invoices fields should be set on all item rows, you’ll need to test it to see if it works correctly.

Yup, as I said, I’ve left an “issue” on the github project.

I just tried to import a test CSV with the following:

client_id,invoice_number,paid,invoice_date,due_date,product,amount,quantity
1,111111,220.00,2016-04-22,2016-05-22,,,
1,111111,220.00,2016-04-22,2016-05-22,"1a2hx4",220.00,1

The previewer on the import screen said it would create 2 invoices, however I continued anyway, just to see what would actually happen:

The following records failed to import, they either already exist or are missing required fields.
{"name":"1","invoice_number":"111111","po_number":false,"invoice_date":"2016-04-22","due_date":"2016-05-22","amount":"","paid":"220.00","notes":false,"terms":false,"product":"","quantity":""}
{"name":"1","invoice_number":"111111","po_number":false,"invoice_date":"2016-04-22","due_date":"2016-05-22","amount":"220.00","paid":"220.00","notes":false,"terms":false,"product":"1a2hx4","quantity":"1"}

I exported a CSV from Invoice Ninja to see if it would provide any insights, however it seems IN only exports invoice totals, without item breakdowns.

The advice I provided was assuming you were creating transformers for InvoicePlane.

To import a standard CSV you’d need to reference the client’s name or email, not their id.

Hi

Can you please provide the sql scripts you created if you still have them?

I don’t think it’s possible transfer data from InvoicePlane to Invoice Ninja using SQL queries.

You would need to setup up this app to generate a JSON file and then import it into Invoice Ninja.

https://github.com/turbo124/Plane2Ninja

Alternatively, you may be able to export the data from the InvoicePlane database and then import it as CSV.

That said I imagine setting up the Plane2Ninja app would be faster and should provide better results.

The app doesn’t seem that easy to set up, and pinkrain mentioned he created sqls that exports data to csv.

Can you user docker to run app?

I see, you’re right. Hopefully he can help…

I don’t believe there is a docker file for Plane2Ninja.