Skip to main content

Initial Release

Project description

Syncfreedom-lib

This is the public repository for users of SyncFreedom.com to simplify their development. The point of this project is to help you develop accounting utilities using the same python-quickbooks library that's used in typical web development. That library is well documented but is inaccessible to the layman without first creating a UI to collect auth codes. SyncFreedom handles the authorization aspect of the development allowing you to focus on your utility.

My goal in creating this service is to make python more accessible to accountants. I encourage accountants to use and adopt python as THE general purpose programing language for accountants.

The main difference between your development with the python-quickbooks package and this package is the QuickBooks class. Anytime you would normally use the QuickBooks class from the python-quickbooks package you would replace it with SyncFreedomQuickBooks class. The SyncFreedomQuickBooks is also different because it takes the company_id (realm_id) and your SyncFreedom credentials as arguments.

For example:

from syncfreedom.client import SyncFreedomQuickBooks
from quickbooks.objects.account import Account

credentials = {
    'username':'your_syncfreedom_username', 
    'password':'your_syncfreedom_password'
    }
qb = SyncFreedomQuickBooks(
    company_id=self.company_id, 
    credentials=credentials
    )
customers = Customer.all(qb=qb)

It is best practice to place your credentials in a config.ini file. Here is an example of the text in config.ini file:

[SYNCFREEDOM_CREDENTIALS]
username = your_syncfreedom_username
password = your_syncfreedom_password

[ENVIRONMENT_INFO]
environment=Production
sync_freedom_url=https://syncfreedom.com

When your credentials are inside of the config.ini file you will access the credentials and use this package like the following:

from syncfreedom.client import SyncFreedomQuickBooks
from quickbooks.objects.account import Account
from configparser import ConfigParser

configur = ConfigParser()
configur.read(r"""C:\your_file_path_to_the_config_file\config.ini"""))

credentials = configur['SYNCFREEDOM_CREDENTIALS']

qb = SyncFreedomQuickBooks(
    company_id=self.company_id, 
    credentials=credentials
    )
customers = Customer.all(qb=qb)

If you are trying to get the full list of connections in SyncFreedom use the SyncFreedomConnections class like the following:

from syncfreedom.client import SyncFreedomQuickBooks, SyncFreedomQBOConnections
from configparser import ConfigParser

configur = ConfigParser()
configur.read(r"""C:\your_file_path_to_the_config_file\config.ini"""))

credentials = configur['SYNCFREEDOM_CREDENTIALS']
qbo_connections = SyncFreedomQBOConnections(self.credentials)

#then create qb from the connections list
connection = qbo_connections.get_by_company_name('My Company Name')
qb = SyncFreedomQuickBooks(
    company_id=connection.company_id, 
    credentials=credentials
    )
customers = Customer.all(qb=qb)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

syncfreedom-1.0.7.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

syncfreedom-1.0.7-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page