Taxjar Integration Backup

TaxJar Integration for ERPNext (Frappe/ERPNext v16).

Install Taxjar Integration Backup

bench get-app https://github.com/raghavisruia/taxjar_integration_backup

Add the Frappe Gems badge to your README

Maintain Taxjar Integration Backup? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=raghavisruia%2Ftaxjar_integration_backup)](https://frappegems.com/gems/apps/raghavisruia/taxjar_integration_backup)

About Taxjar Integration Backup

TaxJar Integration

TaxJar Integration for ERPNext (Frappe/ERPNext v16).

This app calculates US sales tax using TaxJar, writes tax values back to ERPNext documents, and can create TaxJar order/refund transactions on submission/cancellation.

Features

  • Tax calculation hook on Quotation, Sales Order, and Sales Invoice validation.
  • Optional TaxJar transaction creation on Sales Invoice submit.
  • Optional TaxJar transaction deletion on Sales Invoice cancel.
  • Product Tax Category support for item-level TaxJar product tax codes.
  • Sandbox mode support.
  • UI-visible API diagnostics via TaxJar API Log DocType.

Version Compatibility

  • Tested for Frappe/ERPNext v16.

Installation

From your bench folder:

bench get-app taxjar_integration
bench --site  install-app taxjar_integration
bench --site  migrate

Dependency Management

  • Runtime dependencies are defined in [project.dependencies] in pyproject.toml.
  • setup.py is retained for compatibility with older install flows.
  • requirements.txt is a compatibility stub and not the source of truth.

Basic Configuration

Open TaxJar Settings and configure:

  • Enable Tax Calculation
  • Sandbox Mode (optional, for testing)
  • Live API Key or Sandbox API Key
  • Company
  • Tax Account Head
  • Shipping Account Head
  • Create TaxJar Transaction (optional)
  • Enable TaxJar Logging (optional, enabled by default)

Notes:

  • Tax Account Head should match the account where TaxJar tax is expected on invoices.
  • If a static Sales Taxes and Charges template is auto-applied, it can override expected TaxJar behavior.

How Tax Is Applied

  • Hook entrypoint: validate event for Quotation, Sales Order, Sales Invoice.
  • TaxJar payload uses company and customer shipping addresses plus item product tax codes.
  • Returned tax is added/updated as an Actual tax row using Tax Account Head.
  • Item fields taxcollectable and taxableamount are populated from TaxJar breakdown where applicable.

TaxJar API Log (UI)

Use TaxJar API Log in Desk to inspect calls and outcomes.

Logging behavior:

  • When Enable TaxJar Logging is checked, TaxJar requests/responses/skips/errors are written to TaxJar API Log and file logs.
  • When Enable TaxJar Logging is unchecked, tax logic still runs, but no new TaxJar log entries are written.

Each row captures:

  • action: taxfororder, createorder, createrefund, delete_order, etc.
  • status: request, success, error, skipped
  • referencedoctype/referencename (when available)
  • payload
  • response
  • error or skipped reason

Typical skipped reasons include:

  • taxjarcalculatetax is disabled
  • company is not in a supported context for the request
  • no nexus match for destination
  • TaxJar client credentials not configured
  • no matching sales tax amount for transaction creation

Troubleshooting

If tax looks template-driven instead of TaxJar-driven:

  1. Remove/default-disable static Sales Taxes and Charges template for the test case.
  2. Ensure TaxJar Settings taxaccounthead aligns with invoice tax account behavior.
  3. Confirm destination address and nexus setup.
  4. Confirm product tax category is present on item.
  5. Check TaxJar API Log for request/response and skipped/error reason.

If code changes are not reflected:

bench --site  migrate
bench restart

Contributing

Contributions are welcome.

Recommended workflow:

  1. Fork the repository.
  2. Create a feature branch.
  3. Add or update tests where possible.
  4. Run bench migrate and validate on a v16 site.
  5. Open a pull request with clear reproduction steps and expected behavior.

License

MIT

Related Integrations apps for Frappe & ERPNext

  • Insights — Open Source Business Intelligence Tool
  • Raven — Simple, open source team messaging platform
  • Frappe Whatsapp — WhatsApp cloud integration for frappe
  • Frappe Assistant Core — Infrastructure that connects LLMs to ERPNext. Frappe Assistant Core works with the Model Context Protocol (MCP) to expose ERPNext functionality to any compatible Language Model
  • Biometric Attendance Sync Tool — A simple tool for syncing Biometric Attendance data with your ERPNext server
  • Frappe React Sdk — React hooks for Frappe
  • Frappe Js Sdk — TypeScript/JavaScript library for Frappe REST API
  • Mcp — Frappe MCP allows Frappe apps to function as MCP servers