Difference between revisions of "Invoice Manager"

From Contensive Wiki
Jump to: navigation, search
(References)
(2/2/2016)
Line 1,107: Line 1,107:
 
# Add an organization to an account and all the organization's people are added the the account's people tab.
 
# 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.
 
# 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 added to the membership group for the account
  
 
===Pre 2016===
 
===Pre 2016===

Revision as of 17:12, 2 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

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.

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

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

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.

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

Accepted User Stories

These are the user stories and their associated test cases accepted into this project.

2/2/2016

  1. Add an organization to an account and all the organization's people are added the the account's people tab.
  2. Add a person to an organization that is part of an account, and that person is added to the people tab.
  3. 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
  4. For membership accounts, when a person is removed from the people tab of an account, they are automatically added to the membership group for the account

Pre 2016

  1. Test Setup
    1. 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
    2. Item: Rock (Proforma)
      • Set a name, a unit price, no subscription
      • GL, Post Method = Proforma, Defer Account = Deferred Income, Income Account = Rock Income
    3. 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
    4. Account: House
    5. Account: OnDemand-With-Card
    6. Account: Bill-Ship-Now
    7. Account: Bill-Ship-On-Payment
  2. Test Verification
    1. Valid Unpaid Invoice
      1. Go to Account > Purchase History > Verify Invoice Row Complete
      2. Go to Account > Purchase History > click on invoice number > Verify Invoice displays correctly
      3. Go to Account > Transactions > Verify one row for new charge
    2. Valid Cash Payment
      1. (how to validate a cash payment)
    3. Valid Check Payment
      1. (how to validate a check payment)
    4. Valid Credit Payment
      1. (how to validate a credit card/ach payment)
  3. Test Tools
    1. Test Create Invoice Tool - this is just to test basic functionality. Transactions will be tested separately.
      1. Payment Methods
        1. Charge the account -
          1. Charge and order to the OnDemand-With-Card account. It should create a paid invoice.
          2. Charge and order to the Bill-No-Ship account. It should create an unpaid invoice.
        2. Bill the order but do not pay
          1. Charge and order to the OnDemand-With-Card account. It should create an unpaid invoice.
        3. Create the order but do not bill
          1. Charge and order to the OnDemand-With-Card account. It should create an uncharged invoice.
      2. Shipping Charges
        1. Set no shipping charge - charge to account Bill-No-Ship. Verify no shipping charges
        2. Set a shipping charge - charge to account Bill-No-Ship. Verify the shipping charges
      3. Invoice Messages
          1. Verify the unpaid message appears on unpaid invoices
          2. Verify the paid message appears on paid invoices
      4. Line Item options
        1. Quantity - Required
        2. Item - Optional
        3. General Ledger Account - overrides item's GL Account
        4. Price - overrides item's GL Account. Required if no Item.
        5. Description - Required if no Item
        6. Quantity - Required
    2. Test Enter Payments Tool
    3. Test Create Credit Tools
    4. Test Create Charge Tool
    5. Test Process Batch Tool
    6. Test Export Data Tool
    7. Test Item Features
      1. Subscriptions
      2. Bundling
      3. Inventory
      4. Fulfillment Notification
  4. Testing Transactions
    1. Bill Fulfill on Payment Account
      1. Manual invoice + Cash Payment
        1. Single Item Order
          1. 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
          2. GL Post: Proforma
          3. GL Post: Proforma Defer Date
          4. GL Post: Proforma Defer Term
        2. Single Item Order Plus Tax and Shipping
          1. GL Post: Normal
          2. GL Post: Proforma
          3. GL Post: Proforma Defer Date
          4. GL Post: Proforma Defer Term
        3. Combination Item Order
          1. GL Post: Normal + Proforma
          2. GL Post: Normal + Proforma Defer Date
          3. GL Post: Normal + Proforma Defer Term
          4. GL Post: Proforma + Proforma Defer Date
          5. GL Post: Proforma + Proforma Defer Term
          6. GL Post: Proforma Defer Date + Proforma Defer Term
        4. Bundled Item Order
          1. GL Post: Normal + Normal
          2. GL Post: Normal + Proforma
          3. GL Post: Normal + Proforma Defer Date
          4. GL Post: Normal + Proforma Defer Term
          5. GL Post: Proforma + Proforma
          6. GL Post: Proforma + Proforma Defer Date
          7. GL Post: Proforma + Proforma Defer Term
          8. GL Post: Proforma Defer Date + Proforma Defer Date
          9. GL Post: Proforma Defer Date + Proforma Defer Term
      2. Manual invoice + Check Payment
      3. Manual invoice + Credit Payment
      4. Manual invoice + Deposit Payment
    2. On Demand Account
    3. Bill and Fulfill Account
    4. House Account
  5. 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.