Introduction
AccuBooksPlus is an accounting and business transaction platform designed to organize core financial records and operational data in a structured, connected system. The AccuBooksPlus API provides an integration layer that allows external applications, websites, business systems, and custom software to exchange accounting and transaction data with the platform through standardized HTTP requests and JSON responses.
This documentation is intended for developers, system integrators, accounting teams, and technical users who need to connect their applications to AccuBooksPlus. It explains the available API modules, authentication requirements, request methods, endpoint usage, request payload structures, and code examples available across multiple programming languages.
Purpose of the System
AccuBooksPlus brings accounting master data and business transactions into a unified workflow. The API is intended to help connected applications create records, retrieve existing information, and maintain consistent references between customers, vendors, products or services, sales, purchases, cash activity, and tax configurations.
Integration Architecture
Applications communicate with AccuBooksPlus through API endpoints using HTTP methods. Read operations use GET requests, while record-creation operations use POST requests with JSON payloads. Successful responses are returned in JSON format so applications can process the resulting records programmatically.
Core Accounting and Business Modules
The API documentation is organized around the main data domains used by the AccuBooksPlus system. Each module generally provides one or more endpoints for retrieving existing records and, where supported, creating new records.
Chart of Accounts
Provides access to registered ledger accounts and general accounting configurations used to identify and classify financial accounts.
Customers
Manages customer master records, including identifiers, tax information, payment terms, contact details, bank information, and addresses.
Vendors
Maintains supplier and vendor profiles with contact information, tax details, payment terms, banking details, and physical addresses.
Products & Services
Defines products and services with unique codes, item types, sales prices, purchase prices, units of measurement, and remarks.
Sales
Supports retrieval and recording of sales transactions, customer invoices, line items, VAT references, and withholding tax references.
Purchases
Supports purchase transaction records connected to vendor accounts, purchase line items, payment information, and applicable tax references.
Cash Receipts
Records customer collections and receipt transactions, including payment methods, document references, checks, and transaction line items.
Cash Disbursements
Handles outgoing payment and disbursement records, including vendor references, payment information, dates, and line-item details.
VAT & WHT
Provides tax configuration references for Value Added Tax and Withholding Tax codes and rates used by transaction line items.
Generating API Secret Key
- Navigate to the left sidebar under the SETUP section.
- Click SYSTEM SETTINGS -> USERS.
- Look for Action Column in the Users list, Click API Secret Key and Generate.
- Copy and safely store the generated Secret Key immediately
How the Modules Work Together
AccuBooksPlus is structured around related master data and transaction data. A typical integration begins by identifying or creating the master records required by a transaction. For example, a sales workflow can reference a customer and one or more products or services, while a purchase workflow can reference a vendor and purchased items. Transaction line items may also reference VAT and WHT configurations. This connected structure helps applications submit records using consistent codes and references.
Prepare Master Data
Use customer, vendor, and product/service modules to establish the records that transactions will reference.
Retrieve Reference Data
Use list endpoints to obtain valid account, customer, vendor, product/service, VAT, and WHT codes before submitting dependent transactions.
Submit Transactions
Send POST requests with the required transaction header fields and one or more structured line items.
Process the Response
Read the JSON response, capture returned identifiers and document references, and use them in downstream workflows or internal records.
Authentication
API requests use the custom SECRET-KEY header. The configured API credential is represented in this documentation as user api secret-key. Applications should keep credentials private, avoid exposing them in browser-side code or public repositories, and use secure server-side configuration wherever possible.
Request and Response Format
The API uses JSON for structured request and response data. GET endpoints are used to retrieve lists and configuration data. POST endpoints are used to create records and commonly include nested arrays for transaction line items, contact emails, bank accounts, or addresses where applicable.
The documentation provides examples in HTTP, Shell, PHP cURL, PHP Guzzle, Python, and additional supported languages through the language selector.
Recommended Integration Approach
- Review the module you intend to integrate and identify its required fields.
- Retrieve existing reference records and use their unique codes in dependent requests.
- Build the JSON request payload according to the field descriptions shown for the selected Store endpoint.
- Include the required authentication and standard JSON headers.
- Test the integration against the configured test or sandbox endpoint before moving to live operations.
- Validate the API response and store returned identifiers or document references as needed by your application.
About This Documentation
This reference is organized to make AccuBooksPlus API integration easier to understand and implement. Select a module from the left navigation to view its endpoint description, authentication requirements, test URL, live URL where applicable, request examples, response structure, and detailed field specifications for supported Store operations.
For best results, treat unique codes returned or defined by master-data modules as stable references when constructing related transactions, and validate required or conditional fields before sending requests.
Generating API Secret Key
- Navigate to the left sidebar under the SETUP section.
- Click SYSTEM SETTINGS -> USERS.
- Look for Action Column in the Users list, Click API Secret Key and Generate.
- Copy and safely store the generated Secret Key immediately
Authentication & Headers
Every request to this endpoint requires the custom SECRET-KEY header along with standard JSON headers.
Request Field Descriptions
Detailed parameter specifications for creating a customer record with unified nested structures (matching Vendors).
| Field | Type | Requirement | Description |
|---|---|---|---|
| code | string | Required / Unique | Unique identifier code for the customer (e.g., CUST-00123). |
| name | string | Required | Full legal name or business name of the customer. |
| category | string | Optional | Classification or category name for the customer. |
| tin | string | Required | Tax Identification Number (TIN) format (e.g., 000-000-000-00001). |
| terms | integer | Required | Payment terms in days (e.g., 0 for cash on delivery/immediate). |
| customer_email_address | string / null | Optional | Primary contact email address. |
| contact_mobile | string | Optional | Mobile phone number associated with the profile. |
| contact_emails | array | Optional | Collection of secondary contact email objects. |
| banks | array | Optional | Array containing bank account details (name, account number, branch, swift code, etc.). |
| addresses | array | Optional | Array containing physical billing or shipping address records. |
Request Field Descriptions
Detailed parameter specifications for creating a vendor record.
| Field | Type | Requirement | Description |
|---|---|---|---|
| code | string | Required / Unique | Unique identifier code for the vendor (e.g., VEND-00123). |
| name | string | Required | Full legal name or business name of the vendor (e.g., ABC Corporation). |
| category | string | Optional | Classification or category name for the vendor. |
| tin | string | Required | Tax Identification Number (TIN) format (e.g., 000-000-000-00001). |
| terms | integer | Required | Payment terms in days (e.g., 0 for immediate payment). |
| vendor_email_address | string / null | Optional | Primary vendor contact email address. |
| contact_mobile | string | Optional | Mobile phone number associated with the vendor profile (e.g., 09171234567). |
| contact_emails | array | Optional | Collection of secondary contact email objects (e.g., billing@acmecorp.com). |
| banks | array | Optional | Array containing bank account details (bank name, account name, account number, address, branch, and swift code). |
| addresses | array | Optional | Array containing physical address records (unit, street, barangay, city, region, country, zip code). |
Request Field Descriptions
Detailed parameter specifications for creating a product or service record.
| Field | Type | Requirement | Description |
|---|---|---|---|
| type | string | Required | Classification type of the entry. Must be either product or service. |
| code | string | Required / Unique | Unique item code identifier (e.g., PR001). |
| name | string | Required | Descriptive name of the product or service. |
| sales_price | float / decimal | Required | Default selling price for customers (e.g., 1500.00). |
| purchase_price | float / decimal | Required | Default purchasing or cost price (e.g., 1000.00). |
| unit_of_measurement | string | Optional | Unit of measurement descriptor (e.g., pcs, box, hrs). |
| remarks | string | Optional | Additional notes, comments, or description regarding the product/service entry. |
Request Field Descriptions
Detailed parameter specifications for storing a cash receipt.
| Field | Type | Requirement | Description |
|---|---|---|---|
| customer_code | string | Required | Customer reference code from Customer Modules (e.g., C0003). |
| mode_of_payment | string | Required | Payment method type: Cash, Check, Debit/Credit Card, or Bank/Electronic Transfer. |
| control_number | string | Optional | Invoice number reference. |
| document_reference | string | Optional | Official receipt or document reference number (e.g., OR#12345). |
| date | string (YYYY-MM-DD) | Required | Transaction date. |
| category | string / null | Optional | Optional category name. |
| remarks | string | Optional | Additional description or remarks for the payment. |
| responsibility_center | string / null | Optional | Optional Responsibility Center (RC) name. |
| check_number | string | Conditional | Check identification number (Required if Mode of Payment is Check). |
| bank_name | string | Conditional | Issuing bank name (Required if Mode of Payment is Check). |
| check_date | string (YYYY-MM-DD) | Conditional | Check date (Required if Mode of Payment is Check). |
| items | array | Required | Array of line items (supports 1 or multiple items per transaction). |
| items[].productService_code | string | Required | Product/Service module code. |
| items[].quantity | numeric | Required | Quantity of items. |
| items[].unit | string | Optional | Unit of measurement descriptor (e.g., pcs, boxes). |
| items[].description | string | Optional | Line item description. |
| items[].sales_price | float / decimal | Required | Sales price per unit. |
| items[].discount | float / decimal | Optional | Discount amount. |
| items[].vat_code | string / null | Optional | VAT module code reference. |
| items[].wht_code | string / null | Optional | WHT module code reference. |
Request Field Descriptions
Detailed parameter specifications for storing a cash receipt.
| Field | Type | Requirement | Description |
|---|---|---|---|
| customer_code | string | Required | Customer reference code from Customer Modules (e.g., C0003). |
| mode_of_payment | string | Required | Payment method type: Cash, Check, Debit/Credit Card, or Bank/Electronic Transfer. |
| control_number | string | Optional | Invoice number reference. |
| document_reference | string | Optional | Official receipt or document reference number (e.g., OR#12345). |
| date delivered | string (YYYY-MM-DD) | Required | Transaction date delivered. |
| date due | string (YYYY-MM-DD) | Required | Transaction date due. |
| category | string / null | Optional | Optional category name. |
| remarks | string | Optional | Additional description or remarks for the payment. |
| responsibility_center | string / null | Optional | Optional Responsibility Center (RC) name. |
| check_number | string | Conditional | Check identification number (Required if Mode of Payment is Check). |
| bank_name | string | Conditional | Issuing bank name (Required if Mode of Payment is Check). |
| check_date | string (YYYY-MM-DD) | Conditional | Check date (Required if Mode of Payment is Check). |
| items | array | Required | Array of line items (supports 1 or multiple items per transaction). |
| items[].productService_code | string | Required | Product/Service module code. |
| items[].quantity | numeric | Required | Quantity of items. |
| items[].unit | string | Optional | Unit of measurement descriptor (e.g., pcs, boxes). |
| items[].description | string | Optional | Line item description. |
| items[].sales_price | float / decimal | Required | Sales price per unit. |
| items[].discount | float / decimal | Optional | Discount amount. |
| items[].vat_code | string / null | Optional | VAT module code reference. |
| items[].wht_code | string / null | Optional | WHT module code reference. |
Request Field Descriptions
Detailed parameter specifications for storing a cash receipt.
| Field | Type | Requirement | Description |
|---|---|---|---|
| vendor_code | string | Required | Vendor reference code from Vendor Modules (e.g., C0003). |
| mode_of_payment | string | Required | Payment method type: Cash, Check, Debit/Credit Card, or Bank/Electronic Transfer. |
| control_number | string | Optional | Invoice number reference. |
| document_reference | string | Optional | Official receipt or document reference number (e.g., OR#12345). |
| date_delivered | string (YYYY-MM-DD) | Required | Transaction date delivered. |
| date_due | string (YYYY-MM-DD) | Required | Transaction date due. |
| category | string / null | Optional | Optional category name. |
| remarks | string | Optional | Additional description or remarks for the payment. |
| responsibility_center | string / null | Optional | Optional Responsibility Center (RC) name. |
| check_number | string | Conditional | Check identification number (Required if Mode of Payment is Check). |
| bank_name | string | Conditional | Issuing bank name (Required if Mode of Payment is Check). |
| check_date | string (YYYY-MM-DD) | Conditional | Check date (Required if Mode of Payment is Check). |
| items | array | Required | Array of line items (supports 1 or multiple items per transaction). |
| items[].productService_code | string | Required | Product/Service module code. |
| items[].quantity | numeric | Required | Quantity of items. |
| items[].unit | string | Optional | Unit of measurement descriptor (e.g., pcs, boxes). |
| items[].description | string | Optional | Line item description. |
| items[].purchase_price | float / decimal | Required | Sales price per unit. |
| items[].discount | float / decimal | Optional | Discount amount. |
| items[].vat_code | string / null | Optional | VAT module code reference. |
| items[].wht_code | string / null | Optional | WHT module code reference. |
Request Field Descriptions
Detailed parameter specifications for storing a cash disbursement.
| Field | Type | Requirement | Description |
|---|---|---|---|
| vendor_code | string | Required | Vendor reference code from Vendor/Customer Modules (e.g., V0003). |
| mode_of_payment | string | Required | Payment method type: Cash, Check, Debit/Credit Card, or Bank/Electronic Transfer. |
| control_number | string | Optional | Invoice number reference. |
| document_reference | string | Optional | Official receipt or document reference number (e.g., OR#12345). |
| date | string (YYYY-MM-DD) | Required | Transaction date. |
| category | string / null | Optional | Optional Category name. |
| remarks | string | Optional | Additional description or remarks for the payment. |
| responsibility_center | string / null | Optional | Optional Responsibility Center (RC) name. |
| check_number | string | Conditional | Check identification number (Required if Mode of Payment is Check). |
| bank_name | string | Conditional | Issuing bank name (Required if Mode of Payment is Check). |
| check_date | string (YYYY-MM-DD) | Conditional | Check date (Required if Mode of Payment is Check). |
| items | array | Required | Array of line items (supports 1 or multiple items per transaction). |
| items[].productService_code | string | Required | Product/Service module code. |
| items[].quantity | numeric | Required | Quantity of items. |
| items[].unit | string | Optional | Unit of measurement descriptor (e.g., pcs, boxes). |
| items[].description | string | Optional | Line item description. |
| items[].purchase_price | float / decimal | Required | Purchase price per unit. |
| items[].discount | float / decimal | Optional | Discount amount. |
| items[].vat_code | string / null | Optional | VAT module code reference. |
| items[].wht_code | string / null | Optional | WHT module code reference. |
JSON Response Schema
Expected JSON payload structure returned by this endpoint.