Skip to content

DualEntry Public API (1.0.0)

Download OpenAPI description
Languages
Servers
Mock server
https://docs.dualentry.com/_mock/resources/
Production environment
https://api.dualentry.com/
Development environment (for testing)
https://api-dev.dualentry.com/

Health

Monitor API availability and service status. Use these endpoints to verify connectivity and check if the API is operational.

Operations

Accounts

Manage your chart of accounts. Create and maintain the accounts used to categorize financial transactions, including assets, liabilities, equity, revenue, and expenses.

Operations

Items

Manage products and services. Define items that appear on invoices and bills, including pricing, descriptions, and associated accounts for revenue or expense tracking.

Operations

Classifications

Manage custom classification dimensions. Create and maintain classification categories (e.g., departments, locations, projects) used to tag and analyze transactions across multiple dimensions.

Operations

Classifications Lines

Manage classification values. Define the specific values within each classification category that can be assigned to transaction line items for detailed reporting and analysis.

Operations

Companies

Access and manage company information. Retrieve details about your organization including legal name, tax identifiers, addresses, and accounting preferences.

Operations

Journal Entries

Create and manage manual journal entries. Record direct debits and credits to accounts for adjustments, accruals, reclassifications, and other accounting transactions.

Operations

Recurring Journal Entries

Automate recurring journal entries. Create templates for journal entries that occur regularly (e.g., monthly depreciation, amortization) to ensure consistent accounting treatment.

Operations

Invoices

Manage sales invoices. Create and track invoices sent to customers for goods or services rendered, including line items, taxes, discounts, and payment status.

Operations

Recurring Invoices

Automate recurring billing. Set up and manage templates for invoices that are automatically generated on a regular schedule (e.g., monthly subscriptions).

Operations

Customers

Manage customer records. Create, update, and track customers who purchase goods or services from your organization, including contact information, billing addresses, and payment terms.

Operations

Customer Payments

Record and manage customer payments. Track payments received from customers and apply them to outstanding invoices, including partial payments and overpayments.

Operations

Customer Prepayments

Track advance payments from customers. Access prepayments received before goods or services are delivered, which can be applied to future invoices.

Operations

Customer Deposits

Manage customer deposit transactions. Record and track deposits received from customers as security or partial payment, held in liability accounts until earned or refunded.

Operations

Customer Refunds

Process and track customer refunds. Record refunds issued to customers for overpayments, returns, or cancelled transactions.

Operations

Customer Credits

Manage credit memos for customers. Issue credits for returned goods, billing adjustments, or discounts that reduce customer balances or can be applied to future invoices.

Operations

Bills

Manage vendor bills and payables. Record and track bills received from vendors for goods or services purchased, including line items, due dates, and payment tracking.

Operations

Recurring Bills

Automate recurring expenses. Configure templates for bills that repeat on a regular basis (e.g., monthly rent, subscriptions) to streamline expense tracking.

Operations

Purchase Orders

Create and track purchase orders. Manage formal requests to vendors for goods or services, including approval workflows, receiving tracking, and bill matching.

Operations

Vendors

Manage vendor and supplier records. Track businesses and individuals from whom you purchase goods or services, including contact details, payment terms, and tax information.

Operations

Get Vendor

Request

Path
vendor_idinteger(Vendor Id)required
curl -i -X GET \
  'https://docs.dualentry.com/_mock/resources/public/v1/vendors/{vendor_id}/'

Responses

OK

Bodyapplication/json
term_idinteger or null(Term Id)required
term_namestring(Term Name)required
idinteger(Id)required
addressobject or null(AddressSchemaIn)required
address.​streetstring(Street)required
address.​citystring(City)required
address.​statestring(State)required
address.​postal_codestring(Postal Code)required
address.​countryCountry (string) or SystemCountries (string)(Country)
Default ""
Any of:
string(Country)
Default ""
address.​second_linestring(Second Line)
Default ""
company_idinteger or null(Company Id)
company_namestring or null(Company Name)
attachmentsArray of objects(Attachments)
Default []
single_addressstring or null(Single Address)<= 2048 characters
countrystring or null(Country)<= 2 characters
namestring(Name)<= 128 charactersrequired
websitestring or null(Website)<= 128 characters
emailstring or null(Email)<= 128 characters
vendor_typestring(Vendor Type)<= 50 characters
Default "company"
is_activeboolean(Is Active)
Default true
phonestring or null(Phone)<= 25 characters
is_1099_eligibleboolean(Is 1099 Eligible)
Default false
tinstring or null(Tin)
tin_typestring or null(Tin Type)
Default ""
record_statusstring(Record Status)
Default "posted"
Response
application/json
{ "term_id": 0, "term_name": "string", "id": 0, "address": { "street": "string", "city": "string", "state": "string", "postal_code": "string", "country": "", "second_line": "" }, "company_id": 0, "company_name": "string", "attachments": [], "single_address": "string", "country": "st", "name": "string", "website": "string", "email": "string", "vendor_type": "company", "is_active": true, "phone": "string", "is_1099_eligible": false, "tin": "string", "tin_type": "", "record_status": "posted" }

Update Vendor

Request

Path
vendor_idinteger(Vendor Id)required
Bodyapplication/jsonrequired
is_activeboolean(Is Active)required
vendor_typestring(VendorTypes)required
Enum"individual""company""intercompany""tax_agency"
namestring(Name)[ 2 .. 128 ] charactersrequired
emailstring(Email)<= 128 charactersrequired
phonestring(Phone)<= 16 charactersrequired
websitestring(Website)<= 128 charactersrequired
single_addressstring or null(Single Address)<= 2048 characters
Default ""
countryCountry (string) or SystemCountries (string)(Country)
Default ""
Any of:
string(Country)
Default ""
is_1099_eligibleboolean(Is 1099 Eligible)
Default false
addressobject or null(AddressSchemaIn)
tinstring or null(Tin)<= 11 characters
Default ""
tin_typestring or null(TINType)<= 3 characters
Default ""
Enum"ein""ssn"
attachmentsArray of objects(Attachments)
Default []
record_statusstring(RecordStatus)
Default "posted"
Enum"draft""posted""archived"
term_idinteger or null(Term Id)
curl -i -X PUT \
  'https://docs.dualentry.com/_mock/resources/public/v1/vendors/{vendor_id}/' \
  -H 'Content-Type: application/json' \
  -d '{
    "is_active": true,
    "vendor_type": "individual",
    "name": "string",
    "email": "string",
    "phone": "string",
    "website": "string",
    "single_address": "",
    "country": "",
    "is_1099_eligible": false,
    "address": {
      "street": "string",
      "city": "string",
      "state": "string",
      "postal_code": "string",
      "country": "",
      "second_line": ""
    },
    "tin": "",
    "tin_type": "ein",
    "attachments": [],
    "record_status": "posted",
    "term_id": 0
  }'

Responses

OK

Bodyapplication/json
term_idinteger or null(Term Id)required
term_namestring(Term Name)required
idinteger(Id)required
addressobject or null(AddressSchemaIn)required
address.​streetstring(Street)required
address.​citystring(City)required
address.​statestring(State)required
address.​postal_codestring(Postal Code)required
address.​countryCountry (string) or SystemCountries (string)(Country)
Default ""
Any of:
string(Country)
Default ""
address.​second_linestring(Second Line)
Default ""
company_idinteger or null(Company Id)
company_namestring or null(Company Name)
attachmentsArray of objects(Attachments)
Default []
single_addressstring or null(Single Address)<= 2048 characters
countrystring or null(Country)<= 2 characters
namestring(Name)<= 128 charactersrequired
websitestring or null(Website)<= 128 characters
emailstring or null(Email)<= 128 characters
vendor_typestring(Vendor Type)<= 50 characters
Default "company"
is_activeboolean(Is Active)
Default true
phonestring or null(Phone)<= 25 characters
is_1099_eligibleboolean(Is 1099 Eligible)
Default false
tinstring or null(Tin)
tin_typestring or null(Tin Type)
Default ""
record_statusstring(Record Status)
Default "posted"
Response
application/json
{ "term_id": 0, "term_name": "string", "id": 0, "address": { "street": "string", "city": "string", "state": "string", "postal_code": "string", "country": "", "second_line": "" }, "company_id": 0, "company_name": "string", "attachments": [], "single_address": "string", "country": "st", "name": "string", "website": "string", "email": "string", "vendor_type": "company", "is_active": true, "phone": "string", "is_1099_eligible": false, "tin": "string", "tin_type": "", "record_status": "posted" }

Delete Vendor

Request

Path
vendor_idinteger(Vendor Id)required
curl -i -X DELETE \
  'https://docs.dualentry.com/_mock/resources/public/v1/vendors/{vendor_id}/'

Responses

OK

Bodyapplication/json
successboolean(Success)
Default true
Value true
errorsobject(Errors)
Response
application/json
{ "success": true, "errors": { "property1": [], "property2": [] } }