Official Accounting Seed API Documentation
Overview
This section of the knowledge base provides information for developers of Salesforce and Accounting Seed. Accounting Seed uses the Salesforce API which is fully documented at https://developer.salesforce.com/. Accounting Seed extends the Salesforce API with Global Classes for our posting process of Billings, Accounts Payable, and Journal Entries.
Common Integration Points
The common areas for integration to Accounting Seed as listed below. Each section contains more detail on record insertion and posting.
- Journal Entry
- Billing
- Cash Receipt & Cash Application
- Account Payable
- Cash Disbursement
Source Objects for the General Ledger
There are (13) source objects associated with the Accounting Seed General Ledger. All of these objects create transaction related records (aka Debits and Credit) via the posting process. The objects are listed in the table below. Please note that Accounting Seed does not support creating or updating records directly into the transactions table in our application. If there are any updates or insertions directly into the transaction table through custom code, Accounting Seed support will not assist in support for the organization.
The Accounting Seed posting process is accessible through the API in most cases when the transaction does not post automatically. The table below also lists accessibility of the posting and unposting classes through the API.
Source Object Name | Global Posting/Unposting Class Accessible Via Apex | Rest API for Posting/Unposting |
---|---|---|
Amortization Entry | ScheduledRevenueExpensePostService | No |
AP Disbursement | No, But posts automatically | No |
Billing | BillingPostService | Yes |
Billing Cash Receipt | No, But posts automatically | No |
Cash Disbursement | CashDisbursementPostService | No |
Cash Receipt | CashReceiptPostService | No |
Journal Entry | JournalEntryPostService | No |
Payable | AccountPayablePostService | No |
Time Card Day | No | No |
Purchase Order Inventory Movement (ERP Package) |
No, But posts automatically | No |
Inbound Inventory Movement (ERP Package) |
No, But posts automatically | No |
Manufacturing Inventory Movement (ERP Package) |
No, But posts automatically | No |
Outbound Inventory Movement (ERP Package) |
No, But posts automatically | No |
Sales Order Inventory (ERP Package) |
No, But posts automatically | No |
Customizing Pages
Accounting Seed made a deliberate decision to maintain the flexibility of the Salesforce platform and build Accounting Seed as natively as possible. This means you can customize and configure our objects and page layouts just like you can with any custom object in Salesforce.
Ultimately, any object in Accounting Seed can be integrated to from outside of the General Ledger tables described above. However, the three most common integration points are the Billing, Payable and Journal Entry.
Customizable Objects and Page Layouts
Custom Fields, Workflow Rules, Process Flows, Approval Rules, Validation Rules, and more are all available tools that Salesforce supplies and can be leveraged in the same way with Accounting Seed.
Accounting Seed is often used with other AppExchange apps that are developed in the same open architecture, native way.
Document generation products can also be used to generate customer/vendor facing documents such as Invoices, Statements, Purchase Orders, and Packing Slips.
Non-Customizable Objects
There are, however, three Accounting Seed objects that drive the integrity of the General Ledger data that we prevent anyone from editing either manually, via the API, or through declarative Salesforce tools. They are:
- Transaction Object
- Financial Cube Object
- Financial Cube Transaction Object
Commonly Customized Functions
There are a few areas of customization we see customers request that Accounting Seed will not be building into the application. These areas tend to be something that each customer does differently so they make ideal customization candidates. Here are five of the most common:
-
Expense Allocations: For example spreading expenses of a shared resource across multiple business units.
-
Sales Commissions: This is unique to each customer’s sales compensation plan, the Opportunity, Billing, and Cash Receipt data is all available to be used for this calculation.
-
Revenue Recognition: This is unique to each customer’s business model. Percent complete of the sale or job, as well as amount invoiced to date are both components of this solution.
-
Inter-company Transactions: When a company has subsidiaries or multiple related entities, it is almost always necessary to make adjusting entries to avoid counting transactions in both sets of books. These are generically known as inter-company transactions and are unique to the companies operating practices.
Integration Relationships
Just as you can make data relationships on any other custom object, you can do the same with Accounting Seed objects. Lookup relationships are a very useful tool to consolidate (one-to-many) or reference (one-to-one) records and to expand reporting options.
Global Classes
We prevent direct integration to the Transaction object, which represents the General Ledger. Consequently, we have provided Posting and Unposting functionality that creates Transaction records from every source object, that does not automatically Post.
Because Accounting Seed is a native application built entirely on the Force.com platform, we are able to use the Salesforce API to communicate with other applications.
When inserting source records through the Salesforce API that do not automatically post, it will be necessary to call Accounting Seed’s global posting classes, and conversely, if you need to unpost the record you will need to call the class again.
Use of Standard Salesforce Objects
Accounting Seed uses the following standard Salesforce Objects:
-
Account is used for Customers and Vendors.
-
Asset is used for Installed Assets in Orders & Inventory only.
-
Contact is used for Billing and Shipping Contact functionality.
-
Opportunity is used as the starting point for creating Billings, Projects, and Sales Orders.
-
Opportunity Product is used to track the details of an Opportunity that are later converted to Billing Lines, Project Tasks, or Sales Order Lines.
-
Product is used for Inventoried or Non-Inventoried items to bill for, purchase, or order.
-
User is used as the owner of a Time Card or Expense Report.
-
Work Order is used as the starting point for creating Billings and Sales Orders from Salesforce's Field Service Lightning App.
-
Work Order Lines is used as the starting point for creating Billings and Sales Orders from Salesforce's Field Service Lightning App.
Custom Objects
The following Objects are available in Accounting Seed's Financial Suite and Orders & Inventory applications.
Financial Suite Objects:
- Accounting Period
- Accounting Settings
- Accounting Variable
- Amortization Entry
- AP Aging History
- AP Credit Memo
- AP Disbursement
- Bank Deposit
- Bank Reconciliation
- Billing
- Billing Aging History
- Billing Cash Receipt
- Billing Credit Memo
- Billing Line
- Billing Rate
- Cash Disbursement
- Cash Disbursement Batch
- Cash Receipt
- Expense Line
- Expense Report
- Financial Cube
- Financial Cube Transaction
- Financial Report Column
- Financial Report Definition
- Financial Report Result
- Financial Report Result Value
- Financial Report Row
- Fixed Asset
- GL Account
- GL Account Mapping
- GL Account Reporting Group
- GL Account Reporting Group Line
- Journal Entry
- Journal Entry Line
- Labor Cost Rate
- Ledger
- Payable
- Payable Line
- Payment Activity
- Payment Method
- PDF Format
- Product Part
- Project
- Project Task
- Recurring Billing
- Recurring Billing Line
- Recurring Journal Entry
- Recurring Journal Entry Line
- Recurring Payable
- Recurring Payable Line
- Tax
- Time Card
- Time Card Accounting Period
- Time Card Day
- Time Card Line
- Time Card Period
- Transaction
Orders & Inventory Objects:
- Inbound Inventory Movement
- Inventory Cost
- Inventory Quantity Available
- Inventory Quantity Available History
- Location
- Manufacturing Inventory Movement
- Material
- Outbound Inventory Movement
- Purchase Order
- Purchase Order Inventory Movement
- Purchase Order Line
- Purchase Price
- Sales Order
- Sales Order Inventory Movement
- Sales Order Line
- Shipment
- Shipment Line
- Warehouse