brotherton-erpnext/erpnext/erpnext_integrations
Aditya Hase 007fbfbfb7
[Feature] ERPNext Quickbooks Migrator (#15718)
* Create QuickBooks Connector Single DocType

* Create interface for user authorization and obtaining authorization code

* Obtain Access token using authorization code

* Fetch a random customer

* Schedule fetching as a background job

* Save fetched customer

* Fetch all customers, take care of pagination

* Save fetched customers

* Create a custom field for storing Quickbooks ID

* Don't save already saved customers

* Commit every successful insert

* No need of allow_guest=True

* Fetch Items as well

* Store Customer Addresses as well.

* Remove redundant custom field creation code

* Stupid refactoring

* Some more refactoring

* Fetch and Save Suppliers as well

* Save accounts. Really a hack as of now.

* Fetch and save invoices, Take care of child items as well

* Fetch Taxes as well

* Set currency on Sales Invoice

* Correctly Link Items, Handle markups

* Don't enqueue, Need to wait forever for testing sometimes

* Set margin rate correctly

* Correct fieldname is tax_amount not amount

* Fetch with maximum possible batch size

* Don't print unnecessary info

* Fetch Journal Entries

* Fetch Purchase Invoices (Bill)

* Don't perform reauthentication if you already have an access_token

* Don't need those print statements anymore

* Refresh access_token if request fails

* Fetch Payment Entry(Payment)

* Map QB items to ERPNext rather than other way around

* Don't need a huge comment block as of now

* Fetch Payment Entries against Purchase Invoices (BillPayment)

* Rename Quickbooks Connector to Migrator

* Make oauth settings configurable

* Make company configurable

* Make default accounts configurable

* Fetch accounts and other masters separately

* Show realtime progress

* Check if entries exist before attempting insert

* Suppress other annoying messages

* Tracebacks are good for health

* Don't want rounded total

* Don't call fetch after authorization (Need to somehow separate these)

* Make credit_to account payable

* When generating payment entry mention bank_account as well

* Cleanup

* Add custom buttons and reflect current state in form ui

* Show necessary fields on form depending on the current state

* Cleanup

* Minor fixes

* Set income and expense account on items.

* Set currency for Account.

* Stupid VSCode

* Remove redundant code

* Check for existing Payment and BillPayment correctly

* Cache API response for faster development

* Don't maintain stock for now, Seems to solve the issue with 'Stock Received but not billed'

* Cleanup

* Add methods to remove inserted data completely (Development)

* Don't commit in every iteration

* Set account head based on TaxRate in Sales Invoice

* Fetch and cache TaxCode

* Add methods to fetch TaxCode and TaxRate from cache

* Set item wise tax breakup, Don't use Actual Tax

* Use both TaxRateLists

* Set Itemwise tax on Purchase Invoice as well

* Set bank_amount, while creating payment entries

* Remove print statements

* Add Shipping in taxes child table of Sales Invoice

* Set posting date on Payment Entries against Invoices

* Fetch and save expenses as Journal Entries

* Fetch and save Deposits as Journal Entries

* Fetch and Save Credit and Debit Notes

* Fetch and save SalesReceipt

* Record Shipping as Item instead of Tax

* Minor Fixes

* Fetch Advance Payments

* Set account_type during Account creation

* Choose receivable account in Invoice based on currency

* Remove receivable_account field

* Account type is already set during account creation

* Set receivable account based on currency in Sales Receipt and Credit Memo

* Set receivable account on Customer

* Save Company Preferences

* Set shipping_account based on company preferences

* Set cost center in Sales Invoice Items and Taxes

* Make Account name unique in case of duplicate account name

* Fetch and Save TaxPayment as Journal Entry

* Record UndepositedFunds Account in cache if found

* Credit UndepositedFunds account when mentioned in Deposit

* Debit Cashback account as well if mentioned in Deposit

* Set currency conversion rate

* Set is_group field correctly for accounts

* Preserve account hierarchy

* Use quickbooks_id and company together for filtering

* Make new custom field 'company' on Supplier Customer and Item

* Use comapny field for filtering Customer, Item, Supplier

* Shipping Account is only available if shipping is enabled for comapny

* Invoice might not have TxnTaxDetail.TaxLine

* Lookup TaxRate account correctly

* TaxCode might not have SalesTaxRateList PurchaseTaxRateList or Both

* TaxCode might not have SalesTaxRateList and PurchaseTaxRateList

* Remove unnecessary UI elements

* Allow multiple companies to have customers with same name

* Refactor account_type

* Create a leaf an account for every group account

* Item and Tax list creation needs more information

* Supports discount in Invoice

* Save Invoice as Journal Entry when itemwise details are unavailable

* Credit=True represents a refund rather than charge

* Mode of Payment not synced, setting as Cash for now

* Tax code may also be set for an entire invoice

* Fetch General Ledger Report correctly

* Refactor fetching entries from General Ledger Report

* Tax Payment is the same as Sales Tax Payment and Purchase Tax Payment

* append_number_if_name_exists is stupid, Reimplementing

* Don't guess credit/debit for Tax Payment and Advanced Payment

* Bill Payment shouldn't assume full payment

* Save Payment as Journal Entry

* Make Client ID and Client Secret Default

* Remove unused python imports

* removed are_accounts_synced()

* Don't store translated values in database

* Endpoints as a field

* Major refactor - functions to methods

* Major Refactor Functions to Methods

* Major Refactor Fix Stuff

* Minor Changes

* Save Refund As well

* Minor Refactor (SI varations to SI, PI variations to PI)

* Record Inventory Qty Adjust Entries

* QBM Final Touches

* Make changes suggested in review
2018-10-17 17:50:00 +05:30
..
connectors [Fix] Woocommerce test cases (#14513) 2018-06-14 09:13:39 +05:30
data_migration_mapping Use frappe.utils.md_to_html instead of manual import (#15087) 2018-08-07 11:53:36 +05:30
data_migration_plan/github_sync Add Github Connector (#11259) 2017-11-13 19:19:13 +05:30
doctype [Feature] ERPNext Quickbooks Migrator (#15718) 2018-10-17 17:50:00 +05:30
__init__.py Add Github Connector (#11259) 2017-11-13 19:19:13 +05:30
stripe_integration.py Review corrections 2018-07-13 13:15:59 +00:00
utils.py Refactor shopify (#13588) 2018-05-16 11:33:47 +05:30