From Awesome-bar, Go to "QuickBooks Migrator" DocType.
Go to Inuit Developer Portal
Sign In with your existing account or Sign Up.
Go to "My Apps" page.
Click on "Select APIs".
Under "QuickBooks API" Check "Accounting".
Click on "Create App".
You'll be taken to the Dashboard of your App.
Go to "Keys" tab.
Go to "Production Keys" Section.
Complete requirements.
In "QuickBooks Migrator" DocType a "Redirect URL" will be generated for you and add it in the list of "Redirect URIs" of your Inuit App (under "Production Keys" section). Click Save.
Make sure that the Redirect URL starts with https.
From "Production Keys" section copy "Client ID" and "Client Secret" to "QuickBooks Migrator" DocType.
Save "QuickBooks Migrator".
Click "Connect to QuickBooks".
A new tab will open in your browser and You'll be asked to Log In.
If you have more than one companies then Select the company you want to migrate.
Click "Connect".
Upon successful authorization, the tab will close.
The indicator will be set to "Connected to QuickBooks".
In "QuickBooks Migrator" select "Company" where you want to migrate your data.
Save "QuickBooks Migrator".
Click the "Fetch Data" button.
The indicator will change from "Connected to QuickBooks" to "In Progress".
Progress bars will show the status of migration.
This will take a few minutes depending on the size of data.
After migration is complete, the indicator will change to "Complete" or "Failed".
Upon creation of a Company ERPNext creates a chart of accounts for that company, these accounts will be kept.
To avoid name collision with existing accounts, all accounts from QuickBooks will be assigned "- QB" suffix.
e.g. `Job Expense` will become `Job Expense - QB`.
**Note**: ERPNext also encodes account names with Company abbreviation. Taking this into account `Job Expense` will become `Job Expense - QB - AZ` (assuming `AZ` is the company abbreviation).
Five root accounts, namely `Asset`, `Equity`, `Expense`, `Liability`, `Income` will be created and all accounts (depending on the account type) will become children of these accounts.
QuickBooks allows transactions on group accounts, which is not allowed in ERPNext, to handle this, every group account will have a child with a hyphenated name.
e.g.
```
Job Expenses
Job Materials
```
will become
```
Job Expenses
Job Expenses - 1
Job Materials
```
QuickBooks allows multiple accounts to have the same name, which is not allowed in ERPNext, to handle this, every duplicate account will have a hyphenated name.
e.g.
```
Insurance
Job Materials
Job Expenses
Job Materials
```
will become
```
Insurance
Job Materials
Job Expenses
Job Materials - 1
```
All Items will have company encoded names.
e.g. `Pen` will become `Pen - AZ` (assuming `AZ` is the company abbreviation).
All Items will be assigned `Unit` as the default UOM.
`Unit` will be allowed to have fractional value.
Irrespective of whether Item is an Inventory or Non-Inventory Item in QuickBooks, No Inventory related information will be kept.
All Customer and Suppliers will have company encoded names.
e.g. `Pen` will become `Pen - AZ` (assuming `AZ` is the company abbreviation).
QuickBooks has four transactional variants of Invoice, all of these will be saved as Sales Invoice.
- **Invoice** is equivalent to a Sales Invoice.
- **Sales Receipt** is equivalent to a POS Sales Invoice.
- **Credit Memo** is equivalent to a return Sales Invoice (Credit Note).
- **Refund Receipt** is equivalent to a return POS Sales Invoice.
QuickBooks uses special accounts for both Markup and Discount, ERPNext doesn't handle the discount expense and markup this way, instead, all Item's will see the change in their Income accounts.
For Invoices with Shipping, an Item with name Shipping will be added in the Item table.
ERPNext uses different rounding method than QuickBooks, because of this, in Invoices with Tax and with a currency different than company currency, Sales Invoice will have different grand total than that of the QuickBooks Invoice.
If a QuickBooks Invoice is linked to a `Delayed Charge` or `Statement Charge` then an equivalent `Journal Entry` is created for this Invoice.
QuickBooks has two transactional variants of Bill, all of these will be saved as Purchase Invoice.
- **Bill** is equivalent to a Purchase Invoice.
- **Supplier Credit** is equivalent to a return Purchase Invoice.
Following transactions will be saved as Journal Entry
Advance Payment
Bill Payment
Cheque
Credit Card Credit
Expense
Inventory Qty Adjustment
Journal Entry
Payment
Tax Payment
For every QuickBooks Tax Rate an ERPNext account will be created.
QuickBooks Migrator will add following Custom Fields