Difference between revisions of "Invoice Manager"
(→Accepted Test Cases) |
(→2/2/2016) |
||
Line 1,112: | Line 1,112: | ||
# Add a person to an organization that is part of an account, and that person is added to the people tab. | # Add a person to an organization that is part of an account, and that person is added to the people tab. | ||
# For membership accounts, when a person is added to the people tab of an account, they are automatically added to the membership group for the account | # For membership accounts, when a person is added to the people tab of an account, they are automatically added to the membership group for the account | ||
− | # For membership accounts, when a person is removed from the people tab of an account, they are automatically | + | # For membership accounts, when a person is removed from the people tab of an account, they are automatically removed from the membership group for the account |
+ | |||
===Pre 2016=== | ===Pre 2016=== | ||
# Test Setup | # Test Setup |
Revision as of 13:51, 3 February 2016
Invoice Manager provides the underlying framework for most online transactions, including Account Management, automated billing, account reporting, and asset reporting. It includes both automated and manual billing features. Other addon collections such as the Ecommerce Cart and Membership Manager use the common Invoice Manager framework to provide a consistent commerce and reporting interface.
Contents
- 1 Getting Started
- 2 Terms
- 3 Roles
- 4 How-To
- 5 References
- 5.1 Settings
- 5.2 Pay Methods
- 5.3 Pay Options
- 5.4 Ondemand Payments
- 5.5 Purchase Process Settings
- 5.6 Invoice Settings
- 5.7 General Ledger Transaction Exporting
- 5.8 Exporting a Download File
- 5.9 Reports
- 5.10 Managing Accounts
- 5.10.1 Account List Screen
- 5.10.2 Account Detail Screen
- 5.10.3 Account Contacts
- 5.10.4 Account Contact Types
- 5.10.5 On Demand Payment Types
- 5.10.6 Purchase History Tab
- 5.10.7 Recurring Purchase Tab
- 5.10.8 Messages Tab
- 5.10.9 Transactions Tab
- 5.10.10 Organizations and Users
- 5.10.11 Organizations Tab
- 5.10.12 User Tab
- 5.10.13 How to add users to an account
- 5.11 Managing Items and Item Categories
- 5.12 Tools
- 5.13 My Account
- 5.14 Developer Resources
- 5.15 Data Structure
- 5.16 Orders
- 6 Use Cases
- 7 Revision History
Getting Started
To install Invoice Manager please contact Contensive.
To use Invoice Manager, go to the /admin backend and open tools in the Navigator. Click Invoice Manager to open.
To Add an account, click the Add button on the main account list page. Enter at least a unique account name and hit save. To modify an existing account, click on the account in the account list to screen see the account detail screen. Account features can be edited here, and more advanced features are accessible through the Edit link. Account contacts listed on the account detail screen can be selected from anyone associated with the account. To edit account contact details, click the edit next to the name.
Terms
- Account
- The entity with which transactions are made.
- Account user
- A person listed in the Users tab of the Account screen. Everyone in this list receives account subscriptions.
- Account purchaser
- An account user who can purchase online using the account's purchasing rights. This is controlled by setting the account drop-down in the person's record. All account purchasers should also be added to the account users list. The system will automatically, periodically add all purchasers to the account user's list.
- Items
- Things that can be purchased.
- Order
- represents a purchase in any stage of completion.
- Completed Order
- An order that the customer has indicated is ready to purchase.
- Canceled Order
- An unpaid order that is marked to cancel
- Paid Order
- A completed order that is paid
- Fulfillment
- The process of delivering goods to the customer as a result of an order.
- Invoice
- The document generated from an order record, generally unpaid.
- Receipt
- The document generated from an order record, generally paid.
- Subscription Item
- An item that adds account users into a subscription group. The details of the subscription are configured in the subscriptions tab of the item, like if it expires and it is renews.
- Account Subscriptions (formally Recurring Purchase)
- A list of subscription items purchased by an account, used to verify all account user's receive subscription benefits like group membership. If the subscription triggers a future purchase, the account subscription list controls that re-purchase as well.
- Account Transaction
- A log that records previous transactions.
- Account Transaction Document
- A list of Account Transactions exported as as one group.
- Purchase Date
- For credit card purchases, this is just the date of the purchase. For billing, this is the date that the purchase should take place. For instance, for a service, this is the date the service will start. For a membership, this is when the membership starts. For online purchases, this is the date of purchase. For recurring purchases with no pre-bill period this is the invoice date.
- Invoice Date
- the date that the order is billed.
- Due Date
- when payment is expected.
- Account Terms
- Days to Pay (for billing accounts only) -- this is the number of days after the purchase date that the customer has to pay.
- Prebill Days
- (for recurring purchases and billing accounts only ) -- this is the number of days before the purchase date that the recurring purchase is to be invoiced.
- Deferred Transactions
- When an invoice is paid, an account transaction is created. If the item has been configured with a differed transaction, a payment transaction is created between revenue and the deferment G/L account and deferred transactions are created in the Account Deferred Transactions table with future dates. For each deferred transactions, on its date, it will be removed and an equivalent account transaction will be created. Items are configured to create deferred transactions by specifying the deferment account, the deferment date, and the number of deferment transactions needed. For instance, you can defer a meeting payment until the meeting date, or defer an annual membership payment to show membership income on a monthly basis.
Roles
- Administrator
- The site user with administrator rights who configures and maintains the ecommerce system.
- User
- Anyone with a record in the People table.
- Customer
- The user who purchases online, creating an invoice, paying, etc.
- Account Primary Contact
- The user selected as the contact for the account.
- Account Customers
- Users with the account selected in the billing tab of their people record. These people can purchase online using the account.
- Billing Contact
- The user selected in the Accounts Billing Contact. This user receives account notifications such as invoices and statements
- Carbon Copy Contact
- (Optional) The user who receives a duplicate of all notifications.
How-To
These are typical procedures that help with general tasks.
How to apply a credit memo
A credit memo is reversal of a charge and not a payment. Create an invoice when a service is rendered. Create a payment when the customer pays for an invoice. If the service was never rendered, you can cancel the invoice. But if the service was partially rendered and you need to return part of the invoice you have two options, either cancel the invoice and create a new invoice for the corrected service, or create a credit memo that reverses the undelivered portion of the invoice.
You apply the credit memo at the time the remainder of the invoice is paid. So if you create an invoice for $100 for services rendered, then only deliver $60 worth of the services, you can create a credit memo for $40. When the customer pays the $60, go to the Manual Payments tool, enter the payment of $60 and apply it to the $100 invoice and the $60 Credit memo.
How to add a new account
Login and go to ADMIN, MANAGE ADD-ONS, ECOMMERCE, INVOICE MANAGER. Click ADD at the top of the ACCOUNT LIST. Type in the ACCOUNT NAME and click OK.
Go to account list in INVOICE MANAGER. Find the new account and open it. In the ORGANIZATIONS tab add the organization associated with the account. Then in the DETAILS tab you will see a list of all people associated with the organization in the PRIMARY CONTACT and BILLING CONTACT fields. Select one in each field and also set up the CHARGE METHOD, BILLING TERMS and NOTIFICATION METHOD. Click SAVE.
Create Manual Invoice
To create a manual invoice, login and click on ADMIN, MANAGE ADD-ONS, ECOMMERECE, INVOICE MANAGER.
Next select the TOOLS tab and click on CREATE INVOICE.
Here you will select the account, give the invoice a title (for internal use only), choose payment type, what to do if the credit card fails, and set a shipping charge (optional).
You will also be able to include a custom message on the invoice when it is unpaid and after it is paid.
Finally you will select an item and quantity, or you can enter an item description and price for something not currently in the system.
Click CREATE INVOICE to generate the invoice.
Creating Manual Charges or Credits
Then select CREATE CREDIT MEMO, CREATE ACCOUNT CHARGE or CREATE MANUAL INVOICE. In each case you will select the account from the drop down menu. In each case you will enter the amount and all other information requested. Click the "CREATE" button at the bottom of the screen to create the desired charge or credit.
Here you can enter a custom message in the UNPAID INVOICE MESSAGE and PAID INVOICE MESSAGE fields. When you open the invoice, you will see the messages you created.
You can also use the TOOLS tab to process a batch of pending transactions by clicking on PROCESS BATCH.
References
Settings
To specify settings for the Invoice Manager, log in and go to ADMIN. Click on ECOMMERCE, INVOICE MANAGER and then click on the SETTINGS tab. Here you specify days allowed to pay invoices, days in advance to pre-bill certain accounts, setup for faxed invoices and information about who receives notification at your organization about any ecommerce transactions.
Notifications
Email notifications can be sent for several purposes
Paid Order Notification
To receive a copy of every receipt (paid order), add your user record to the group selected in the notification tab in Settings called "Paid Order Notification Group"
Placed Order Notification
To receive a copy of every order as it is placed, add your user record to the group selected in the notification tab in Settings called "Placed Order Notification Group"
Denied Payment Notification
Denied payment notices are sent to customers when their On Demand payment method fails during a batch process. In the Notifications tab of Settings, you can customize the text in emails sent for denied payments and late notices.
Late Notice Notification
Late notice notifications are sent when Invoices (unpaid orders) go beyond the Payment Due date. In the Notifications tab of Settings, you can customize the text in emails sent for denied payments and late notices.
Fulfillment Notification
Fulfillment notifications are sent when a purchase is ready to send, and would typically be sent to the individual responsible for sending the items purchased. Each item includes in its fulfillment tab a checkbox to enable fulfillment notification and a group to be used for the email. To receive fulfillment notification, set an item to a fulfillment group, enable the items fulfillment notification, and add yourself to the group.
Billing Fulfillment Notification
In addition to the Fulfillment notification, you can also have a notification sent to the ecommerce Administrators when an order is ready to fulfill. To receive the billing fulfillment notification, enter a custom message in the Fulfillment tab of each item.
Pay Methods
Pay Methods are four basic ways to process charges. Accounts are configured to use one of these methods, based on your credit with them. The default is Pay on Demand.
- No Payment Necessary - All orders will be automatically paid as $0
- Pay on Demand - A payment is needed at the time of the purchase. For online purchases, an Pay-on-Demand account will receive a credit card or online check form. For batch purchases, a credit card or echeck must be saved in the account.
- Bill and fulfill on payment - Send a bill to the account. Fulfill (ship) the order when payment received
- Bill and fulfill immediately - Send a bill but ship the order now
Pay Options
Pay Options are the choices offered to customers online, and are created by the administrator. Each Pay Option includes a Pay Method which describes how the payment will be processed if selected. Online customers will only see the options that apply to them, based on their account settings.
- Pay Option set to No Payment - only available if account is set to no payment. if your account is set to No Payment, then all invoices are processed without payment and fulfillment is applied appropriatly.
- Pay Option set to Pay on demand - available to everyone. If you account is setup Pay On Demand, then you must submit a payment at the time the order to be completed.
- Pay Option set to Bill and fulfill on payment - If your account is set to Bill and Fulfill on payment, then when you complete your order, an invoice is generated and sent to you billing contact. When payment is made, the fulfillment process is triggered and your order is shipped (or fulfilled appropriately)
- Pay Option set to Bill and fulfill immediately - If your account is set to Bill and Fulfill on immediately, then when you complete your order, an invoice is generated and sent to you billing contact and the fulfillment process is triggered to ship your order.
Ondemand Payments
Credit Card Payments
Echeck Payments (ACH)
Echecks are treated as an On Demand payment, just like credit cards. If you have EChecks configured, the online payment form will automatically include an option to pay by credit card or online check.
An account configured for On-Demand payments can be configured to pay by Echeck as well as credit card for manual invoices or recurring purchases.
To configure online check payment:
- Go to the Invoice Manager
- Click settings in the menu to see the settings page
- Click the Online Payments tab to open the online payment options
- You must select a processor that supports online checks, currently that is only Authorizenet
- Go to the processor's tab and check the Accept Online Checks checkbox
Purchase Process Settings
The purchase process involves adding items to an order, completing and order to create an invoice, paying an invoice to create a receipt, and fulfilling an order.
The terms used to describe these are defined in the terms section and an example follows
Example:
recurring annual membership, expires January 31
prebill set to 30 days
days to pay set to 10 days
Purchase Date = February 1
Invoice Date = January 2 (30 days before the purchase date)
Date Due = February 11 (10 days after the Purchase Date)
Invoice Settings
The system creates invoices based on Invoice Templates, editable through the Data tab in Invoice Manager. You can have as many invoice templates as you need, and each account can be assigned to either the default invoice, or a custom invoice.
- Invoice Email Subject
- For manual invoices, this is the Invoice Title. For invoices sent from recurring purchases and online purchases, the subject line is either "Invoice #1234" or "Receipt for paid Invoice #1234", where 1234 represents the invoice number.
When invoices are generated, special words in the invoice template are replaced with their respective values. They are as follows:
- $invoiceNumber$
- The order number
- $invoiceDate$
- The date of the actual purchase
- $accountNumber$
- The internal account number used for Invoice Manager. This is the column ID on the Account List
- $legacyAccountNumber$
- If value populated in the Legacy Account Number field for each account record
- $invoiceTax$
- The tax charge on the order
- $invoiceShipping$
- The shipping charge on the order
- $itemTotalAmount$
- to total due for this order
- $billName$
- the value of the Order's Bill Name field
- $billEmail$
- the value of the Order's Bill Email field
- $billFax$
- the value of the Order's Bill Fax field
- $billCompany$
- the value of the Order's Bill Company field
- $billAddress$
- the value of the Order's Bill Address field
- $billAddress2$
- the value of the Order's Bill Address Line 2 Name field
- $billCityStateZip$
- A value created from the values of the Order's Bill City, State and Zip fields
- $billFullAddress$
- A value created from the bill address values of the Order's record
- $contactName$
- the value of the order's Contact name
- $contactEmail$"
- the value of the order's Contact email
- $contactFax$"
- the value of the order's Contact Fax
- $contactCompany$
- the value of the order's Company field
- $contactAddress$
- the value of the order's Address field
- $contactAddress2$
- the value of the order's Address Line 2 field
- $contactCityStateZip$
- A value created from the values of the Order's Contact City, State and Zip fields
- $contactFullAddress$
- A value created from the contact address values of the Order's record
- $accountBalanceBeforeInvoice$
- The balance on the account before the order was completed. This amount only reflects the balance at the time of the invoice and should ONLY be used if the invoice will be send only once. As the account is padi, this amount is NOT updated.
$accountBalanceAfterInvoice$ : Similar to accountBalanceBeforeInvoice
- $amountDue$
- the balance to be paid on the invoice. If the invoice is paid, this amount is $0.00
- $terms$
- the account terms.
- $paymentDetail$"
- This reflects the payment status of the invoice, like Paid.
- $dueDate$
- the due date for the invoice, calculated based on the account terms.
- $invoiceTotal$
- The total for this invoice
The display of each line item of the invoice depends on the following
- The quantity and item description
- If the invoice is a manual invoice, the description can be manually entered
- If the item has no charge, it may be configured to hide the invoice line
- if the item is part of a bundled set of items, the bundled items may be hidden with a setting on the bundling item
- if the line is created with a recurring purchase, it includes the period of time covered by the recurring purchase.
General Ledger Transaction Exporting
The system maintains a General Ledger account list and General Ledger Transaction table solely for the purpose of exporting transactions.
- General Ledger Accounts
- General ledger Accounts are a simple list of Account Names and Numbers setup in the system that should match those in the receiving system. After setting-up General Ledger Accounts, go to Ecommerce Settings, to the GL tab and verify each of the hard-coded GL Accounts are set as needed.
- General Ledger Transactions
- General Ledger transactions are created each time an accounting event occurs, like a purchase or a payment. The details of the transaction depend on the General Ledger Post Method set for the invoice.
- General Ledger Posting Methods
- Items include settings that dictate how invoices that include them will be posted. If an invoice contains any items with non-Normal posting methods, the entire invoice becomes Cash-Basis. Any items in teh order set as normal will be posted cash-basis. Items other than normal will be posted as they are selected. Shipping and Tax will be posted Cash-Basis.
House Account Orders
All items within a house account invoice have no charge, and the entire invoice is treated as a cash sale with no defering income, regardless of the post method set on any items.
- CREDIT: item's income GL account
- DEBIT: Misc Adjustments GL account
Posting Method: Normal
- Charge (invoice)
- CREDIT: item's income GL account
- DEBIT: Accounts Receivable GL account
- Payment
- CREDIT: Accounts Receivable GL account
- DEBIT: Cash or Deposit GL account
- Credit Memo
- CREDIT: Accounts Receivable GL account
- DEBIT: Misc Adjustments GL account
- Cash purchases - when a normal item is charged and paid at the same time.
- CREDIT: item's income GL account
- DEBIT: Cash or Deposit GL account
- Deposit - when a payment is received and not applied to a charge.
- CREDIT: deposit GL account
- DEBIT: Cash GL account
Posting Method: Proforma
Proforma orders do not post GL entries until they are paid.
- Charge (invoice)
- no GL entries posted
- Payment
- CREDIT: item's income GL account
- DEBIT: Cash or Deposit GL account
Posting Method: Proforma - Defer to Date
Proforma - Defer date orders do not post GL entries until they are paid. On the payment date, the income is posted to a defer account. Then on a specific date, the defer account is posted back to the item's income account. This can be used to defer the income for a meeting until the meeting month or date.
- Charge (invoice)
- no GL entries posted
- Payment
- CREDIT: item's Defer GL account
- DEBIT: Cash or Deposit GL account
- On the Defer Date
- CREDIT: item's Income GL account
- DEBIT: item's Defer GL account
Posting Method: Proforma - Defer Over Term
Proforma - Defer Term orders do not post GL entries until they are paid. On the payment date, the income is posted to a defer account and a specified number of gl entries are made to future dates that recognize the item's income over a period of months. Each month more and more of the item's income will be recognized as the gl entries come due. For instance, annual dues can be set to a 12 month defer term, resulting in 1/12 of the dues being recognized each month.
If the purchase is a new purchase, the series of deferred income transactions starts on the purchase date. If the purchase is not a renewal (non-recurring purchase) then the series of deferred transactions starts on the payment date.
- Charge (invoice)
- no GL entries posted
- Payment
- CREDIT: item's Defer GL account
- DEBIT: Cash or Deposit GL account
- Each month for x months
- CREDIT: item's income GL account for total/x
- DEBIT: item's Defer GL account for total/x
Exporting a Download File
General Ledger Transactions may be converted to download files to be exported.
From Admin Home, user may go to Manage Add-Ons>>Ecommerce>>Invoice Manager
On the Account List page, go to Settings>>General Ledger
- Enable the Automatic Export field. When box checked, Ecommerce Export will run automatically to create download files.
With Automatic Export enabled,
- Select the Automatic Export Format from the drop down menu.
- Click OK to Save changes.
To view download files, go to Data>>Ecommerce Exports
- Edit export record and click on Export.csv file for review.
Reports
To get reports from the Invoice Manager, log in and go to ADMIN. Click on ECOMMERCE, INVOICE MANAGER and then click on the REPORTS tab. Here you can get reports on account purchase history, account invoice aging and daily ecommerce activity. You can also manage the print queue here.
Purchase History Report
This report shows all charges on the accounts. It includes invoice date, paid date, account name, invoice #, invoice description and amount charged. You can sort the report by any of the columns, except description, and can filter for unpaid only or any of the sortable fields.
Invoice Aging
This report groups invoices by the overdue periods: current, past due, over 30, over 60 and over 90.
Daily Activity
Shows charges, house payments, check payments, auto payments and declined payments over the last 30 days.
Print Queue
The print queue lists documents waiting to be printed. After printing, user your back arrow to return to the print queue.
Top Buyers
Lists clients with the highest item totals. The report can be filtered for a specific category and/or date range.
Top Category Buyers
Lists top buyers in each item category. Can be filtered by date range.
Item Purchase
For each item available for sale, this report lists the number paid for, the number given away for free the total count and the total sales amount. It can be filtered by date range.
Item Category Purchase
This report shows purchases sorted by category. It includes account, item and amount for each purchase. The report can be filtered to look at only a certain category, account and/or date range.
General Ledger Account Summary
The total of all transactions by General Ledger Account during the selected period. This reports breaks transactions down into four categories: Proforma Paid Charges, Cash Paid Charges, non-Proforma Charges, and non-Proforma Payments. Proforma Paid Charges are charges from invoices marked with General Ledger Post Methods: Proforma, Proforma - Defer Date, and Proforma - Defer Term. These are reported only when paid. Cash Paid Charges are non-Proforma Charges that were charged and paid on the same calendar day. Non-Proforma Charges are invoices not marked Proforma. Non-Proforma Payments are payments made during the period on invoices not marked Proforma.
Managing Accounts
To manage accounts, log in and go to ADMIN. Click on Tools >> Invoice Manager.
Account List Screen
You will see a list of all accounts, or only open accounts if you click the check box. From this screen you have the option to ADD an account, CLOSE an account or SEND STATEMENTS to accounts by selecting them with a check mark.
Click on any account to see the Account Detail screen.
If you want to see the balance column on the accounts list page, make sure the following is set correctly:
Go to SETTINGS tab, INVOICE MANAGER tab,and check the second box that says "Include account balance in account list"
Account Detail Screen
To edit information in a specific account or to get more detailed information about that account, click on the account name to open the record for that account.
Account Contacts
Account contacts must come from one of the following:
- anyone with the account set in the billing tab of their people record.
- anyone associated to the account in Membership Manager People tab
- anyone with an organization set in their people record that is associated to the account with Membership Manager
- anyone set to an organization associated to the accountThe three contact types available in INVOICE MANAGER are:
Account Contact Types
The three contact types available in INVOICE MANAGER are:
- Primary Contact: Receives a copy of account invoices if there is no billing contact specified.
- Billing Contact: Receives a copy of all invoices sent to the account. (Invoices for free items are not sent to the account.)
- Carbon Copy (CC) Billing Contact: Receives a duplicate copy of all invoices sent to the account.
On Demand Payment Types
- On Demand payment methods are used to pay invoices generated by the system.
- If the account is configured as an OnDemand account, all invoices must be paid when the invoice is created.
- When an invoice is paid On-Demand, the primary method is attempted first, then the secondary, then each of the others entered until one succeeds.
Purchase History Tab
In the PURCHASE HISTORY tab you can also send any outstanding invoices or statements. Check the STATUS column to see what is paid and what is outstanding. The invoices not yet paid are listed as PAY in blue (and will say LATE PAY after 30 days); the paid invoices are listed as PAID with the pay date.
Recurring Purchase Tab
In the RECURRING PURCHASES tab you can ADD, DELETE or CANCEL a recurring purchase.
Messages Tab
The messages tab includes recent activity. Individual messages can be highlighted. Some automatic messages are highlighted as well, like when an account needs attention because of a declined on-demand purchase.
Transactions Tab
Click on the TRANSACTIONS tab to see a list of account activities. The Approved column in the transactions list is true if the transaction was approved (not whether or not the invoice was paid).
SETTING UP MULTIPLE BILLING CONTACTS FOR A SPECIFIC ITEM CATEGORY
To send invoices to multiple people in an organization for a specific item category, create an ACCOUNT CONTACT record by logging in and clicking on ADMIN, MANAGE ADD-ONS, ECOMMERCE and then ACCOUNT CONTACTS. Next click ADD. You will select the ACCOUNT and MEMBER that you want this record to apply to. For a User to show up in this drop down, their User Record must be set to MEMBER in the CONTROLLING CONTENT field in the CONTROL INFO tab.
Next, click on the CATEGORIES tab to select the category that applies. Click OK to save the new record.
NOTE ABOUT ITEM CATEGORIES: To add new categories, login and click on ADMIN, MANAGE ADD-ONS, INVOICE MANAGER, DATA, AND THEN ITEM CATEGORIES. Click ADD and then type in the name of the new category. Click OK to save changes. Next click on ITEMS and open a specific item; choose the CATEGORY from the drop down list. Click OK to save changes to the item.
Organizations and Users
Users associated with accounts through the account manager screen are included in account subscriptions. A user can be associated directly to the account from the User tab, or their organization can be associated to the account through the organization tab.
For a user to be associated to an organization, the organization field in their people record must be set to the organization.
Organizations Tab
Add organizations to this account. Employees of this organization will be granted access to subscriptions from this account
User Tab
This is a list of employees of the organizations listed in the Organization Tab, and any individual members added in this tab
How to add users to an account
You can add company members or individual members
- Add them as an employee of the organization -- Edit their people record and select an Organization that is part of the account.
- Add them an an individual member -- Edit their people record to determine their "record id" at the top. Go the Invoice Manager and go to the account's User Tab. Click [add] and enter the person's Id.
Managing Items and Item Categories
Items are what is purchased, and item categories are a way to group and report on items.
The following features are configurable within items
Bundling
- Use the Bundling tab to add bundled items to an item. An item that contains bundled items is a bundling item. All bundled items are not charged to the invoice. They can optionally be hidden from the invoice as well. The transactions for bundling items however do include charges. The transaction charge for any item is calculated as the item's price minus the total of all its bundled item prices.
- Show Bundled Items
- Bundled Items
Options
- options are a series of option sets, each with a name and the possible values a customer must choose for that name. The name is separated from the values with a colon. The values are separated by commas. Options are separated by a new line. For instance, an item with a two line options field may have in the first line -- "color: red, blue, yellow" and the second line "size: small, medium, large". Customers purchasing this item will be required to select both a size and a color from the choices.
Item Category
- Categories are used by the catalog for display and by ecommerce reporting to group charges.
Subscriptions
- Group
- inMyAccount
- Group Expiration Period (Days)
- Group Expiration Period (Months)
- membershipDurationTypeId
- membershipMonthId
- isRecurringPurchase
- recurringPrice
Pricing
- Unit Price
- Sale Price
- Special Price
- On Sale
Promotional Discounts
Misc
- Featured
- New
- Viewings
- Materials
- Allow Receipt Copy
- Receipt Copy
- Is In Catalog
- Msg To Billing When Paid
- invoiceCopy
- allowInvoiceCopy
- isTaxable
- hideInvoiceLineIfNoCharg
- Max Quantity Per Order: Put a number in here to limit the number of this item that can be ordered at one time
Shipping
- Shipping Required
- Shipping Weight
Inventory Management
Use inventory management to help track item levels, notify an administrator when quantities are low, and remove items from the catalog when they are depleted.
- Quantity On-Hand
- The number of items you have available for ordering. This quantity is changed on order fulfillment.
- Quantity Low
- When the quantity on-hand falls below this level, the ecommerce administrators group will receive a notification
Permissions and Roles
In the Catalog tab of Items, in the ORDER BUTTON MODE field, you can select:
- Always Hide to prevent anyone from ordering the item
- Always Show to allow everyone to order the item
- Show Based on User Group Policies to allow users in specific groups to order the item
To set the User Group Policies, go to Ecommerce Cart Settings. In the Group Policies section you will check the box next to ALLOW ORDERING. So for example, if you only want members to be able to order certain items, set the Order Button Mode field to "show Based on User Group Policies" and in Ecommerce Cart Settings check the field Allow Ordering next to the Members group(s).
Fulfillment
- sendFulfillmentNotification
- fulfillmentNotificationGroupId
General Ledger Transactions
- Deferment Method : No Deferment, Defer to Deferment Date, Defer Monthly
- Deferment Account : When a deferment method is selected, paying for this item creates an account transaction crediting this deferment account, and deferred transaction(s) debiting the deferment account to the item's income account.
- Deferment Date : When the Deferment Method is Defer to Deferment Date, a single deferred transaction will occur on this date.
- Number of Monthly Deferment Transactions : When the Deferment Method is Defer Monthly, this many deferred monthly transactions will be created, evenly spacing the income over the period.
- generalLedgerAccountId
The following item fields only apply to Membership Items, used in Membership Manager
- tbd
Tools
You can use INVOICE MANAGER to create manual invoices, credit memos and account charges. To access these features, log in and go to ADMIN. Click on the MANAGE ADD-ONS folder. Next click on the ECOMMERCE folder and then click on INVOICE MANAGER. From here you will click on the TOOLS tab
Enter Payments
Use the enter payments tool to add payments received from accounts and to apply previously entered payments that were saved as deposits.
Payment Methods
- Cash - Select the cash payment method to enter a payment that requires no tracking (check number, credit card history, etc).
- Check - use the check payment method to enter a check payment
- Credit Card - use the credit card payment method to enter and process a credit card payment
- Apply Deposit - use the apply deposit payment method to apply one or more deposits to an invoice.
Create a Deposit
Check this box to create a deposit for the account with the payment, or any excess of the payment not applied to invoice(s)
Do Not Send a Receipt
If the customer account is configured to receive receipt notifications, check this box will prevent a receipt from being sent to the customer for paid invoices.
Transaction Date
Leave this blank to post this transaction at the time the payment is applied. Enter a different transaction date to post the payment as needed. Note that the transaction date is limited by the transaction export data. Once a months data is exported, you cannot post a transaction before the end of that period.
Select unpaid charges
If the payment is to be applied to invoices, select the unpaid charges from the list.
Check Number
For Check payments, enter the check number for tracking purposes.
Credit Cards
For credit card transactions, enter the card number, expiration date and name on the card. Optional fields are available for CSV and billing zip code if you have configured your processor to required them.
Applying Deposits
when appying deposts to pay invoices, select the deposit(s) to apply. If the amount of the deposit(s) is greater than the invoices, check the Create a Deposit checkbox to create a deposit for the excess.
My Account
A public addon that lets account contacts (primary and billing) pay invoices with a credit card they enter.
User Profile
Here you edit name, email/user name, password, phone number, photo and organization selection.
Pay Invoices
Access this to view and pay current invoices.
Payment Information
Use the payment information screen to add or modify online payment methods such as credit cards and/or ACH methods. Select the primary and secondary payment method to be used to automatic payments. The secondary method is used if the primary method fails. If the secondary methods fails, all other payment options will be attempted as well.
Account History
Manage Subscriptions
Sign up for any available email subscriptions
Manage Staff
Here you add, delete or update profile information for account users.
Manage Organization Profile
Here you can change the company name, address, phone, fax, web or email address.
Developer Resources
The following api is provided to interface with ecommerce
Contensive Events
Any addon can create an Addon Event record. These event records can be manually created or will be created automatically when the addon throws them.
It can then throw the event with a cp method, like cp.site.throwEvent( “My Event” )
Any addon can register for the event with a checkbox in in a tab of the Addon record. When an addon is registered, it is called by contensive when the calling addon calls cp.site.throwEvent.
Arguments should be passed with document properties.
Item Fulfill Event
ecommerce.fulfillOrder
Called when an order is to be fulfilled.
Arguments:
- OrderId: The order that needs to be fulfullled
Fulfillment for an order would include things like adding people to groups they purchase or mailing an item out. When the Fulfillment event occurs depends on the Pay Method. On Demand: Fulfillment happen at the time of the purchase Bill: Fulfillment happends when the bill is paid Bill and Fulfill: fulfillment happens when the bill is sent.
Calculate order details event
ecommerce.calculateOrderDetails
Called after calculating the amounts for each order detail in an order, and before calculating the shipping, taxes and total. use this to calculate a custom amount for an item . Arguments: OrderId: The order that is being calulated
Ecommerce API
Ecommerce Methods / API There are two component of the api, native addon methods and a dotnet wrapper that calls the native methods. addon Interface all addon interface calls match the dotnet calls, with the function passed through a cmd argument. For example
cp.doc.setProperty( “method”, “createAccount” ) cp.doc.setProperty( “accountName”, “ACME Fireworks” ) result = cp.utils.executeAddon( ecommerceMethodsAddonGuid )
Performs the following:
result = createAccount( ‘ACME Fireworks’ )
getTransactions Returns a list of transactions for the account.
Arguments accountId: required dateFrom: optional. dateTo: optional.
Return: amount dateTrans description type: charge payment credit other
getChargesAndPayments Returns a list of account charges and payments that would typically be presented to an account as a statement.
Arguments accountId: required dateFrom: optional. dateTo: optional.
Return: amount dateTrans description type: invoice payment credit memo charge
getOpenOrderId Online orders only, browser must support cookies. Returns the current open order for this visitor, or for this user if they are authenticated. When an order is first created online, it is associated to the visit/visitor. At any point it can be converted to a user or account order with setOrderUser or setOrderAccount. Once converted, the order is only accessable online to the user, no longer to the account.
Arguments: none
Return: string, orderId or 0 if there is no open order
createAccount creates a new account, sets the account to the user and the user to the account. returns the accountId for the new account Name. The user must have an email address, and can not already have an accountid set.
Arguments userId: required the id of the initial billing and contact member. This person must have a blank accountId This person must have a valid email address accountName: optional. if provided, it is used. if not provided, the name of the user will be used. If blank, an account number will be set in the name.
Return: string, accountId or userErrorMessage
createOrder creates a new order. A user or an account must be set before the order can be completed (billed or paid)
If a user is assigned, the user’s account will be used. If an account is set, the billing contact will be set as the user.
Once a user has been set, online orders will no longer be trackable with visit or visitor.
Arguments: none
Return: string, orderId or userErrorMessage
addOrderItem adds an item to the order Arguments: orderId: required. itemId: required quantity: optional optionString: optional A string added to the order detail to specify item options userId: optional - if provided, this is the individual customer associated with this item purchase. Some items like subscriptions will put the customer in a group during fulfillment.
Return: string, orderDetailId
setOrderAccount assigns an account to an order, only if it currently is unassigned. An account is required before the order can be completed.
Arguments: orderId: required accountId: required
Return: empty
setOrderUser Assigns a user to an order, only if it currently is unassigned. An order requires a user before it can be completed.
Arguments: orderId: required userId: required
Return: empty
setOrderShipMethodId Sets the shipping method to be used for the order
Arguments: orderId: required shippingmethodId: required
Return: empty
getAccountPayMethod returns the pay method set on the account 0 = unknown 1 = no charge 2 = on Demand 3 = Bill 4 = Bill and Fulfill when paid
Arguments: acccountId: required
Return: string, numeric value
getAccountStatus returns the status of the account 0 = unknown 1 = open 2 = closed
Arguments: acccountId: required
Return: string, numeric value
calculateOrder calculates order tax, shipping, itemtotal, total based on itemdetails, etc. It is called by other methods. Call if the order, orderDetails, items, account, user are modified outside the ecommerce API.
Arguments: orderId: required
Return: true if success, else returns a message.
payOrder attempts to pay for the order with either a credit card or a specific onDemandMethod. The order may be complete or not-complete. (A complete order can not be modified). If the order pays OK, it is completed. Otherwise the order is not modified. If the payment fails, no customer notification is sent and no hold is put on the account. If their account has it enabled, the order receipt is sent.
Arguments: orderId: required paymentComment1: optional paymentComment2: optional shipFirstName,lastname,company,address,city,state,zip,country onDemandMethodId: if not 0, it must match an account payMethod for this account. if onDemandmethodId=0 then
CreditCardNumber: (required) CreditCardExpiration: (required) SecurityCode: (required) custFirstName ...LastName,Address,City,State,Zip,Country,Email
- CHANGE 1/19/2013
Return: boolean - true if processed OK argument returnUserError is “OK” or contains a user appropriate msg getInvoice Returns the invoice associated with the orderId
Arguments: orderId: required
Return: string
chargeOrder - charges to account using account pay method - returns true if success, else returns a message. - if the account is setup onDemand and the payment fails, no decline notice is sent and the account is not suspended (held for 3 days) Arguments: orderId: required paymentComment1: optional paymentComment2: optional shipFirstName,lastname,company,address,city,state,zip,country
paidOrder - marks an order paid - creates all charge and pay transactions - assumes caller accepted funds (maybe through paypal) - returns “OK” if success, else returns a message. Arguments: orderId: required paidBy: required, a string that describes how it was paid
billOrder - bills the order, but does not pay and does not fulfill - returns true if success, else returns a message. Arguments: orderId: required
billAndFulfillOrder - bills the order and calls fulfill. - returns true if success, else returns a message. Arguments: orderId: required
getOrderShipOptionSelect Returns an html select list of all options available to the order specified, based on the weight, charge, zipcode and country saved in the order.
Arguments: orderId: required htmlName: required - the name attribute of the html select htmlId: optional - the Id attribute of the html select htmlClass: optional - the class attribute of the html select
Return: string if no shipping options apply, a blank is returned
getShipOptionSelect Returns an html select list of all options available to the order specified, based on the weight, charge, zipcode and country arguments passed.
Arguments: orderId: required htmlName: required - the name attribute of the html select htmlId: optional - the Id attribute of the html select htmlClass: optional - the class attribute of the html select shipMethodId: integer, required - the method currently selected shipWeight: number, required - the weight in pounds itemCharget: number, required - the total of the items for this order shipZip: required, text - the zipcode of the shipping address shipCountry: required, text - the country of the shipping address
Return: string if no shipping options apply, a blank is returned
getShipCharge Returns the charge for shipping based on the arguments provided.
Arguments: shipMethodId: integer, required - the method currently selected shipWeight: number, required - the weight in pounds itemCharge: number, required - the total of the items for this order shipZip: required, text - the zipcode of the shipping address shipCountry: required, text - the country of the shipping address
Return: number
setAccountPayMethod Arguments: accountId: required payMethodId: required 0 = unknown 1 = no charge 2 = on Demand 3 = Bill and fulfill with paid 4 = Bill and fulfill immediately
setAccountPrimaryContact Arguments: accountId: required userId: required setAccountBillingContact Arguments: accountId: required userId: required addAccountOnDemandMethod adds an item to the order Arguments: accountId: required. CreditCardNumber: (required) CreditCardExpiration: (required) SecurityCode: (required) custFirstName ...LastName,Address,City,State,Zip,Country,Email Return: string, onDemandMethodId
setAccountOnDemandMethod Arguments: accountId: required onDemandMethodId: required
setAccountOnDemandMethodSecondary Arguments: accountId: required onDemandMethodId: required
getOnlinePaymentFields Returns all the credit card payment fields using the site’s payment configuration. Add these fields to a form, and when the form is submitted, call processCreditCardPaymentFields. The fields are read from document properties and the transaction is processed. These fields can be wrapped in an html form and submitted with a button, or submitted ajax.
This call must be made from an secure SSL document (page)
Arguments: none
Return: Html string
processOnlinePaymentFields Processes the fields created with getOnolinePaymentFields
Arguments: orderIdList: required - a comma delimited list of OrderId to be paid. returnUserError: if the method returns false, this string contains a message appropriate for the user to understand the issue. payComment1: optional payComment2: optional
Return: Boolean, true if the process is OK, false if there was an error. On error, the argument returnUserError contains a user appropriate explaination
Data Structure
The following database tables are used and/or created by Membership Manager.
People
People is a system Table which stores information about users.
Organizations
People is a system Table which stores information about companies.
Accounts
The account is the record that is charged. All transactions have to have an account to charge and be paid from.
tablename = abAccounts
- memberId
- Primary Contact, The primary contact for the account.
- billingMemberId
- Billing Contact, The person responsible for ensuring payment for the account. If blank, the Primary Contact is used.
- billingMemberId
- Billing Contact, The person responsible for ensuring payment for the account. If blank, the Primary Contact is used.
- closed (Closed)
- When true, this account can no longer be charged.
- payMethodId
- Lookup list below This represents the accounts preferred method of payment.
- 1 - House
- 2 - Credit Card
- 3 - Billing
- notificationMethodId
- Lookup list below. How the account would preferred being notified.
- 1 - Email
- 2 - Fax
- termsId
- Lookup into content “Account Terms”. This information provides credit terms for the account.
- dateHoldBillingUntil
- When not null, no payments can be run against this account until the date indicated. Charges should still accrue.
- dateLastBillingNotice
- This is the date of the last time the account was notificed about a balance due.
- requestedCancelDate
- After this date the account should not longer be charged. Services should be canceled on this date.
- referralCode
- When the account was created, if a code was used for tracking it is saved here.
- commissionAccountId
- If not null, commissions on payments to applicable charges are created in this account.
- emailCharges
- When checked, all charges to the account should be emailed to the billing contact.
Orders
Account Transactions
Each entry represents either a credit or debit to the account. This will be considered an asset account so a charge increases and is a Debit, a payment decreases the balance and is a Credit.
tablename = abAccountTransactions
- Approved
- payment transactions -- shows the payment was approved. If false, the transactions is not valid
- isCharge
- If true, this is a charge transaction. A positive amount represents a charge to the account increases its balance due. A negative amount represents an adjustment that decreases the amount due.
- isCommission
- if true, this transaction is a result of a commission on a different transaction
- amount
- The amount of the transaction. Position amounts increase the balance due from the account.
- accountId
- The account being charged or paying.
- isSetupFee
- for charge transactions -- if true, this transaction is a one-time charge. If false, this transaction is a result of a recurring charge.
- orderId
- Charge Transactions -- The order which originated the transaction
- dateDue
- Charge Transactions -- Determined by the pay method and set at the time of the charge. Any transaction unpaid after this date has passed is passed due.
- fromDate
- Charge Transactions -- When there is a service involved, the fromDate and toDate are the service dates.
- toDate
- Charge Transactions -- When there is a service involved, the fromDate and toDate are the service dates.
- recurringPurchaseId
- Charge Transactions -- When set, this charge was created by the associated entry in Recurring Purchases.
- paidByTransactionId
- Charge Transactions -- When set, this transaction was paid by the associated transaction. One payment can pay multiple charges. If a partial payment is made on a account, the charge must be broken up and each charge paid in full.
- paymentCheckNumber
- Payment Transactions -- The check number
- creditCardNumber
- Payment Transactions -- cc number
- creditCardAuthorization
- Payment Transactions -- authorizations from the payment gateway
- authorizationMessage
- Payment Transactions -- message from the payment gateway
- paymentAppliedToCharges
- Payment Transactions -- if true, this payment has been applied to charges.
- orderId
- For charge transactions, this is the order the created the transaction.
Recurring Purchases
Each record represents a recurring purchase. The account billing process uses these records to create charge transactions periodically, which may then be paid.
table = abRecurringPurchases
- accountId
- The account to be charged
- itemId
- The item to use for purchase details
- discountAmount
- if provided, this amount will subtracted from the product amount when creating the charge transaction
- isCommissionable
- if checked, charges from this recurring purchase will be commissionable
- dateChargeStart
- When set, no charges will be created before this date. When a charge is created, it will never be back-charged earlier then this date. The effect is this will be the start date for the purchase, reguardless of other transactions. However, no refunds will be created based on this setting.
- dateChargeEnd
- When set, this represents the end of a contract period for a recurring purchase. This is generally the anticipated end of a longer purchase. For instance, this may be a monthly charge with a one year contract. The dateChargeEnd is the end of the year. It does not mean cancel, but represents the earliest time when the charge can be ended. The purchase will not be charge after this date.
- requestedCancelDate
- When set, this is the date after which the customer no longer wants the service. The purchase will not be charge after this date.
- referralId
- This is the ID of the referral record in referrals.
- canceled
- When true, this purchase no longer charges
- dateStart (dateJoin)
- This date is set to the date the purchase is created.
- dateChargedThrough
- This date, set by the recurring purchase process is the date that this purchase has been charged through. The recurring purchase process will create a new order based on this date.
- datePaidThrough
- This date is set by the payment process and manual payment entry.
- dateInactivate
- This is the date that the product should be deactivated for non-payment.
- dateCancel
- This is the date that the purchase is canceled for non-payment.
Groups
- membershipControlled
- Contensive -- This is a developer-only field. When set, you can not add or remove anyone or delete the group. The Member Tracking Process (MTP) will set the field when it creates the groups.
Referrals
Is a list of codes created to track promotions and commissions. To use a referral, the customer enters a code which matches a referral record. The commissions and discounts then apply to only those items set in Referral Item Rules.
- code
- The text code assigned to this referral. When entered during the purchase process, this referral is applied
- commissionAccountId
- When provided, this commission account will be used for the Order or Recurring Purchase.
- initialChargeDiscountAmount
- When provided, this discount amount will be applied to the initial purchase.
- recurringChargeDiscountAmount
- When provided, this discount amount will be applied to recurring purchases.
- recurringChargeDiscountPeriods
- When provided, the recurreint ChargeDiscountAmount only applies for this many periods.
Account Notes
Are a list of notes created the administrator.
- accountId
- The account associated with this note
- copy
- The text of the note.
Account Terms
The billing arrangements for accounts set to bill as pay method.
- daysToPay
- The number of days after the purchase date before the due date.
- Account Messages
- Are a list of messges created by the system to track activities.
- accountId
- The account associated with this note
- copy
- The text of the note.
Items
- copy
- Long Text: The long description of an item. Used on the catalog details page.
- overview
- Long Text: The short version of the description. Used on the catalog listing page.
- hideOrderButton
- Boolean: When true, if the item display on a catalog page, it will not have an order button.
- categoryId
- Lookup into Item Categories: Used to categorize items
- itemNumber
- Text: Used only as a reference number on the catalog
- UPC
- Text: Used only as a reference number on the catalog
- materials
- Many to Many to Item Materials: Displays a list of downloadable documents for the item.
- featured
- Boolean : Can be used to select specific items for a custom list.
- new
- Boolean : Can be used to select specific items for a custom list.
- viewings
- Integer : The number of times this item has displayed on the catalog details page.
- quantityOnHand
- integer : For inventory managment, this in the number of items you have on-hand. Automatically decremented on order purchase.
- quantityLow
- integer: For inventory managment, when the quantityOnHand is less than the quantityLow, the Inventory Management notification is sent.
- imageFilename
- image: the large image of the item
- thumbnailFilename
- image: the small image of the item
- options
- Long Text : A list of options and their choices. Separate different options with new lines. Separate choices for each option with commas. For example, if the item is a shirt and you offer three sizes and two colors, the options might be
size: small, medium, large color: red, blue, green
- unitprice
- currency: the quantity 1 price without any discounts, etc.
- saleprice
- currency: the quantity 1 price if the item has OnSale checked.
- specialprice
- currency : the quantity 1 if the custom is in a group selected as a discount group
- onSale
- boolean : when true, the item price will be the salePrice
- allowReceiptCopy
- when true, receipts including this item will include the receiptCopy in the receipt's message box.
- receiptCopy
- long text : when allowReceiptCopy is true, this text is included in the receipt's message box.
- shippingRequired
- boolean : when true, this item will require shipping for the entire order, and the item's weight will be included in the order's weight calculation.
- weight
- number : if shippingRequired is true, this is the shipping weight of the item.
- organizationId
- Lookup into organizations: The source (manufacturer) for the item, included in the catalog.
- sourceitemNumber
- Text: Used only as a reference number on the catalog
- groupId
- The Subscription Group -- if this is not blank, anyone purchasing this item will be added to this group with the group expiration from groupExpirationPeriod and groupExpirationPeriodMonths
- groupExpirationPeriod
- This is an integer value in Days. it is used for both the expiration date of a subscription when it is purchased, and for the recurring billing period when a recurringCharge is included.
- groupExpirationPeriodMonths
- This is an integer value in Months, and acts like groupExpirationDays -- effecting both group expiration for subscriptions and the recurring purchase period.
- isInCatalog (new)
- default true. if true, this item appears in the catalog
- isCommissionable (new)
- default false. if true, the commissionaccountid receives thier commission on this item. For catalog purchases, the commission account is set when a new account is created with a referral code.
- recurringCharge (new)
- if not zero, this purchase creates a recurring purchase record which charges the account at the beginning of each period, based on the groupExpirationPeriod and groupExpirationPerodMonths. If the periods are zero, the recurring Charge is not valid.
- recurringPrebillDays(new)
- For a recurring item, how many days before the purchase date should it be invoiced. The Due date will still be the purchase date plus the days to pay (in account terms)
Orders
An order is created for all completed purchases. Processes may create incomplete orders as well. The line items of the order are orderdetails The completed order total is added to transactions as a purchase. Invoices sent represent a single orders.
- Name
- datePurchase
The effective purchase date for the order. For orders invoiced in advance of the purchase, this is the date the purchase should take place. For instance, for a membership that expires on July 1, you might want to invoice for the renewal 30 days head of time. The datePurchase is July 1, the invoice date may be June 1, and if you extend them 10 days credit, the dueDate would be July 10.
- dateDue
When the order should be paid
- specialPricing
If true, this order qualified
- pricelevelFreeShipping
if true, this order qualified
- itemCharge
The total amount of all items
- shipCharge
The calculated amount of shipping
- taxCharge
The calculated amount of tax.
- priceLevelDiscount
The calculated amount of the discount based on the price Level Discount scheme
- TotalCharge
The total of item, ship, tax and discounts
- orderCompleted
(can be removed and use dateComplete instead) - see orderComplete for details.
- readyForBatchComplete
- When true, the background batch will complete this order, performing all the billing, invoiceing and payment when necessary.
- dateCompleted
- Legacy - set when the order is paid. Current - set when the order is billed. -- however, there is a special case to cover the order upgrade. If dateComplete is set and ccNumber is set, the order is considered legacy and must be Paid. In this case, the payDate is set to the dateCompleted and paidByTransactionid is set to -1 to prevent re-paying.
- payMethod
- a text description of the pay method used
- payDate
- When the order was paid. For online orders this is populated. For offline payments, it is populated at the time the order is paid.
- ccAuthCode
- The code returned from the last payment process attempted.
- ccTypeActionCode
- The code returned from the last payment process attempted.
- ccRefCode
- The code returned from the last payment process attempted.
- billName
- phone
- fax
- company
- address
- address2
- city
- state
- zip
- country
- shipDate
- date when order is shipping
- shipTracking
- tracking number from the shipper
- shipMethod
- text field with the name of the ship method used
- shipWeight
- memberId
- visitorId
- visitId
- visitId
orderDetails
Order Details represent the line items of an order.
- name
- a text description of the item name, quanitity and options
- orderId
- itemId
- itemNumber
- quantity
- options
- unitPrice
- weight
- sourceid
- groupMemberId
- The user Id of the person who will be given membership for items with a groupId. These are items that provide group membership when purchased. The userid is saved in the orderDetail record because the group membership is created when the purchase is completed, which may be by a manual payment long after the purchase is made. if the groupmemberid is not set, the account contact will be used.
- item Categories
- Order Ship Methods
- Item Materials
- item Material Categories
- Item Categories
Use Cases
These are the accepted use cases for this feature.
2/2/2016
- Add an organization to an account and all the organization's people are added the the account's people tab.
- Add a person to an organization that is part of an account, and that person is added to the people tab.
- For membership accounts, when a person is added to the people tab of an account, they are automatically added to the membership group for the account
- For membership accounts, when a person is removed from the people tab of an account, they are automatically removed from the membership group for the account
Pre 2016
- Test Setup
- Item: Leaves
- Set a name, a unit price, no subscription
- GL, Post Method = Normal (should be default), Defer Account = Deferred Income, Income Account= Leaves Income
- Item: Rock (Proforma)
- Set a name, a unit price, no subscription
- GL, Post Method = Proforma, Defer Account = Deferred Income, Income Account = Rock Income
- Item: Test Meeting
- Set a name, a unit price, no subscription
- GL, Post Method = Defer Date, Defer Date = A Future Date, Defer Account = Deferred Income, Income Account = Meeting Income
- Account: House
- Account: OnDemand-With-Card
- Account: Bill-Ship-Now
- Account: Bill-Ship-On-Payment
- Test Verification
- Valid Unpaid Invoice
- Go to Account > Purchase History > Verify Invoice Row Complete
- Go to Account > Purchase History > click on invoice number > Verify Invoice displays correctly
- Go to Account > Transactions > Verify one row for new charge
- Valid Cash Payment
- (how to validate a cash payment)
- Valid Check Payment
- (how to validate a check payment)
- Valid Credit Payment
- (how to validate a credit card/ach payment)
- Test Tools
- Test Create Invoice Tool - this is just to test basic functionality. Transactions will be tested separately.
- Payment Methods
- Charge the account -
- Charge and order to the OnDemand-With-Card account. It should create a paid invoice.
- Charge and order to the Bill-No-Ship account. It should create an unpaid invoice.
- Bill the order but do not pay
- Charge and order to the OnDemand-With-Card account. It should create an unpaid invoice.
- Create the order but do not bill
- Charge and order to the OnDemand-With-Card account. It should create an uncharged invoice.
- Shipping Charges
- Set no shipping charge - charge to account Bill-No-Ship. Verify no shipping charges
- Set a shipping charge - charge to account Bill-No-Ship. Verify the shipping charges
- Invoice Messages
- Verify the unpaid message appears on unpaid invoices
- Verify the paid message appears on paid invoices
- Line Item options
- Quantity - Required
- Item - Optional
- General Ledger Account - overrides item's GL Account
- Price - overrides item's GL Account. Required if no Item.
- Description - Required if no Item
- Quantity - Required
- Test Enter Payments Tool
- Test Create Credit Tools
- Test Create Charge Tool
- Test Process Batch Tool
- Test Export Data Tool
- Test Item Features
- Subscriptions
- Bundling
- Inventory
- Fulfillment Notification
- Testing Transactions
- Bill Fulfill on Payment Account
- Manual invoice + Cash Payment
- Single Item Order
- GL Post: Normal
- After charge, verify account balance + AR + verify invoice + account transactions + gl transactions
- After payment, verify account balance + AR + verify paid invoice + account transactions + gl transactions
- GL Post: Proforma
- GL Post: Proforma Defer Date
- GL Post: Proforma Defer Term
- Single Item Order Plus Tax and Shipping
- GL Post: Normal
- GL Post: Proforma
- GL Post: Proforma Defer Date
- GL Post: Proforma Defer Term
- Combination Item Order
- GL Post: Normal + Proforma
- GL Post: Normal + Proforma Defer Date
- GL Post: Normal + Proforma Defer Term
- GL Post: Proforma + Proforma Defer Date
- GL Post: Proforma + Proforma Defer Term
- GL Post: Proforma Defer Date + Proforma Defer Term
- Bundled Item Order
- GL Post: Normal + Normal
- GL Post: Normal + Proforma
- GL Post: Normal + Proforma Defer Date
- GL Post: Normal + Proforma Defer Term
- GL Post: Proforma + Proforma
- GL Post: Proforma + Proforma Defer Date
- GL Post: Proforma + Proforma Defer Term
- GL Post: Proforma Defer Date + Proforma Defer Date
- GL Post: Proforma Defer Date + Proforma Defer Term
- Manual invoice + Check Payment
- Manual invoice + Credit Payment
- Manual invoice + Deposit Payment
- On Demand Account
- Bill and Fulfill Account
- House Account
- Settings#
Revision History
January 15, 2016
- Added Transaction Memo field to Manual Cash Payments to assist when entering non-traditional payments.
- Further clarified the use of capital letters, hash tags, parentheses, and brackets in account transaction descriptions.
- Added a setting to let admin set the time of day for the batch to run.
- Sentences start with capital letter
- square brackets wrap system generated items and enumerations, such as transaction numbers. The brackets provide clarification for empty lists and leading/trailing spaces.
- parentheses set off structurally independent details, such as check numbers and cash memos
- Hash tags (#) are not needed in front of numbers as they take up real estate and provide no additional information.
- fix: Applying a single deposit to an invoice did not work
- fix: transactions dates that include no time portion (now possible with the manual payment transaction date) are not included in the daily summary.