# Alegra — Accounting API: overview

> Canonical URL: https://developers.apideck.com/apis/accounting/alegra/overview

Cloud-based invoicing, accounting and POS software popular across Latin America (Mexico, Colombia, Peru, Spain, Dominican Republic, Argentina, Chile and others) for SMBs and entrepreneurs.
- Status: beta
- Authentication: basic

- **partnership note:** No partner programme, app registration or approval stands between you and the API.
- **apideck credentials available:** false
- **consumer access level:** Any Alegra user who can open account settings and generate an API token; the credential is tied to that user's account email.
- **external guides:**   - **title:** Alegra Developer Documentation
  - **source:** Alegra
  - **url:** https://developer.alegra.com/
- **beta:** true
- **webhooks:** Native — invoices, bills, customers/suppliers and invoice-items emit created/updated/deleted events; the other 12 resources are polled.
- **account type required:** Alegra account on a plan that includes API integrations
- **supported resource categories:**   - **resources:** customers
suppliers
  - **name:** Contacts
  - **resources:** invoices
quotes
payments
credit-notes
  - **name:** Sales
  - **resources:** bills
bill-payments
purchase-orders
bill-credit-notes
  - **name:** Purchasing
  - **resources:** ledger-accounts
journal-entries
tax-rates
bank-accounts
  - **name:** Accounting
  - **resources:** invoice-items
  - **name:** Products & Services
  - **resources:** company-info
departments
  - **name:** Company
- **sandbox note:** The API always runs against a real Alegra account; use an account you control.
- **responsibility matrix:**   - **area:** Enable the Alegra Connector
  - **customer:** ✓ Via Apideck Dashboard
  - **area:** Alegra Account on a Plan with API Access
  - **consumer:** ✓
  - **area:** Generate & Supply the API Token in Vault
  - **consumer:** ✓
  - **apideck:** ✓
  - **area:** Store & Encrypt Credentials
  - **apideck:** ✓ Maintains connector
  - **area:** Build via the Unified API
  - **customer:** ✓ Builds the requests
  - **customer:** ✓ Via Apideck Dashboard
  - **area:** Monitor Connections
  - **apideck:** ✓ Logs & alerts
  - **consumer:** ✓ Can renew or revoke the token anytime
- **rate limits:** 150 requests per minute per user; exceeding it returns 429. Every response carries X-Rate-Limit-Limit, -Remaining and -Reset headers.
- **costs:** No additional charge — API access is included in the Alegra subscription plan that carries it.
- **difficulty reason:** Basic Authentication — consumers generate their own API token
- **authentication note:** The Alegra account email as username and an in-app API token as password; not OAuth.
- **difficulty:** moderate
- **apideck credentials note:** Alegra has no OAuth app to share, so every consumer brings their own token.
- **important to know:** API access requires an eligible Alegra plan (the Plus plan, per Alegra's help centre), and some plans cap how many active integrations an account may have; the exact tier and cap vary by country. Confirm the plan for your consumers' country.
Regenerating the API token in Alegra ("Renovar token") invalidates the old one immediately, so a consumer who renews their token breaks the connection until they supply the new value in Vault.
Building and testing against the API needs no permission, but Alegra's API Terms require its prior written authorisation before you distribute or commercialise a product built on it, and it can refuse anything it judges competitive. Raise this with Alegra early.
A single Alegra contact can be both a customer and a supplier: the same underlying record appears in both lists and shares one id, so deduplicate by id when you sync both.
Alegra's developer documentation is Spanish-only.
- **environment notes:**   - **description:** Alegra serves every country edition from one API host and offers no separate sandbox, so testing and production share the same credential shape: an account email plus an API token.
  - **environment:** Single environment
  - **environment:** Testing
  - **description:** Test against an Alegra account you already control. It holds live data, so treat anything the integration writes as production data.
- **partnership required:** false
- **sandbox available:** false

## Supported resources

[Accounting data model](/guides/accounting-data-model.md)

- **custom field support:** true
- **id:** customers
- **name:** Customers
- **downstream id:** contacts-customers
- **downstream name:** Contacts Customers
- **status:** live
- **custom field support:** true
- **downstream id:** contacts-suppliers
- **name:** Suppliers
- **status:** live
- **id:** suppliers
- **downstream name:** Contacts Suppliers
- **id:** tax-rates
- **downstream id:** taxes
- **status:** live
- **name:** Tax Rates
- **downstream name:** Taxes
- **custom field support:** true
- **downstream name:** Categories
- **id:** ledger-accounts
- **name:** Ledger Accounts
- **downstream id:** categories
- **status:** live
- **custom field support:** true
- **id:** company-info
- **downstream id:** company
- **downstream name:** Company
- **name:** Company Info
- **status:** live
- **custom field support:** true
- **downstream name:** Cost Centers
- **status:** live
- **downstream id:** cost-centers
- **custom field support:** false
- **name:** Departments
- **id:** departments
- **downstream id:** bank-accounts
- **id:** bank-accounts
- **downstream name:** Bank Accounts
- **name:** Bank Accounts
- **custom field support:** true
- **status:** beta
- **status:** live
- **custom field support:** false
- **name:** Invoice Items
- **downstream id:** items
- **downstream name:** Items
- **id:** invoice-items
- **status:** live
- **downstream id:** invoices
- **custom field support:** false
- **name:** Invoices
- **id:** invoices
- **downstream name:** Invoices
- **custom field support:** false
- **name:** Bills
- **downstream id:** bills
- **downstream name:** Bills
- **id:** bills
- **status:** live
- **status:** live
- **name:** Credit Notes
- **downstream name:** Credit Notes
- **custom field support:** false
- **downstream id:** credit-notes
- **id:** credit-notes
- **id:** bill-credit-notes
- **name:** Bill Credit Notes
- **custom field support:** false
- **status:** beta
- **downstream id:** debit-notes
- **downstream name:** Debit Notes
- **id:** payments
- **name:** Payments
- **status:** live
- **custom field support:** false
- **downstream id:** payments
- **downstream name:** Payments
- **id:** bill-payments
- **status:** live
- **downstream id:** bill-payments
- **downstream name:** Bill Payments
- **custom field support:** false
- **name:** Bill Payments
- **downstream name:** Journal Entries
- **custom field support:** false
- **id:** journal-entries
- **name:** Journal Entries
- **downstream id:** journal-entries
- **status:** live
- **id:** quotes
- **downstream name:** Estimates
- **downstream id:** estimates
- **name:** Quotes
- **status:** beta
- **custom field support:** false
- **custom field support:** false
- **name:** Purchase Orders
- **status:** live
- **downstream id:** purchase-orders
- **id:** purchase-orders
- **downstream name:** Purchase Orders

An omitted operation list does not establish operation support. Verify the selected operation in the coverage matrix.

[API reference](https://developers.apideck.com/apis/accounting/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/accounting/coverage)
