Difference between revisions of "Invoice Manager"
(→Account Transactions) |
(→Recurring Purchases) |
||
Line 185: | Line 185: | ||
===Recurring Purchases=== | ===Recurring Purchases=== | ||
<blockquote> | <blockquote> | ||
− | Each record represents a recurring purchase. The account billing process uses these records to create charge transactions periodically, which may then be paid. | + | 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 | table = abRecurringPurchases | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Referrals | + | ; 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. | ||
+ | </BlockQuote> | ||
+ | |||
+ | ===Groups=== | ||
+ | <BlockQuote> | ||
+ | ; 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. | ||
+ | </BlockQuote> | ||
+ | |||
+ | ===Referrals=== | ||
+ | <BlockQuote> | ||
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. | 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. | ||
− | referral.code | + | |
− | The text code assigned to this referral. When entered during the purchase process, this referral is applied | + | ; referral.code : The text code assigned to this referral. When entered during the purchase process, this referral is applied |
− | commissionAccountId | + | ; commissionAccountId : When provided, this commission account will be used for the Order or Recurring Purchase. |
− | 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. |
− | initialChargeDiscountAmount | + | ; recurringChargeDiscountAmount : When provided, this discount amount will be applied to recurring purchases. |
− | When provided, this discount amount will be applied to the initial purchase. | + | ; recurringChargeDiscountPeriods : When provided, the recurreint ChargeDiscountAmount only applies for this many periods. |
− | recurringChargeDiscountAmount | + | </BlockQuote> |
− | When provided, this discount amount will be applied to recurring purchases. | + | |
− | recurringChargeDiscountPeriods | + | ===Account Notes=== |
− | When provided, the recurreint ChargeDiscountAmount only applies for this many periods. | + | <BlockQuote> |
− | Account Notes | + | |
Are a list of notes created the administrator. | Are a list of notes created the administrator. | ||
− | accountId | + | ; accountId : The account associated with this note |
− | The account associated with this note | + | ; copy : The text of the note. |
− | copy | + | </BlockQuote> |
− | The text of the note. | + | |
− | Account Terms | + | ===Account Terms=== |
+ | <BlockQuote> | ||
The billing arrangements for accounts set to bill as pay method. | The billing arrangements for accounts set to bill as pay method. | ||
− | daysToPay | + | ; daysToPay : The number of days after the purchase date before the due date. |
− | 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. |
− | Account Messages | + | ; accountId : The account associated with this note |
− | Are a list of messges created by the system to track activities. | + | ; copy : The text of the note. |
− | accountId | + | </BlockQuote> |
− | The account associated with this note | + | |
− | copy | + | ===Items=== |
− | The text of the note. | + | <BlockQuote> |
− | Items | + | |
− | + | ||
copy | copy | ||
overview | overview | ||
Line 282: | Line 280: | ||
recurringPrebillDays(new) | 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) | 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 | + | </BlockQuote> |
+ | |||
+ | ===Orders=== | ||
+ | <BlockQuote> | ||
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. | 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. | Invoices sent represent a single orders. | ||
Line 344: | Line 345: | ||
visitId | visitId | ||
visitId | visitId | ||
− | orderDetails | + | </BlockQuote> |
+ | |||
+ | ===orderDetails=== | ||
+ | <BlockQuote> | ||
name | name | ||
a text description of the item name, quanitity and options | a text description of the item name, quanitity and options |
Revision as of 21:45, 12 May 2015
Invoice Manager provides the underlying framework for most online transactions, including Account Management, automated billing, account reporting, and asset reporting. 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
Terms
- Account
- The entity with which transactions are made.
- 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.
- Recurring Purchase
- A record that triggers a future purchase.
- Account Transaction
- A log that records previous transactions.
- Account Transaction Document
- A list of Account Transactions exported as as one group.
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.
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.
- Pay Option set to Pay on demand - available to everyone
- Pay Option set to Bill and fulfill on payment - everyone
- Pay Option set to Bill and fulfill immediately - required account set to bill and fulfill immediately.
Online Check Payments (ACH)
Online checks are treated as a payment method, just like credit cards. If you have Online Checks configured, the online payment form will automatically include an option to pay by credit card or online check.
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
Important invoice dates and periods
- 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.
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)
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
Invoice Aging
Daily Activity
Print Queue
Top Buyers
Top Category Buyers
Item Purchase
Item Category Purchase
General Ledger Account Summary
Managing Accounts
To manage accounts, log in and go to ADMIN. Click on ECOMMERCE, INVOICE MANAGER and then click on the ACCOUNTS tab. 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.
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. Here you can edit contact or payment information about this account. For details about purchases for this account, click on the PURCHASE HISTORY or RECURRING PURCHASES tab. In the PURCHASE HISTORY tab you can also send any outstanding invoices or statements. In the RECURRING PURCHASES tab you can ADD, DELETE or CANCEL a recurring purchase. Click on the MESSAGES or TRANSACTIONS tab to see a list of account activities.
NOTE ABOUT ACCOUNT CONTACTS: To show up in the drop down for any account contact, the ACCOUNT must be selected in the contact's User Record in the BILLING tab.
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, there 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.
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
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.
You can also use the TOOLS tab to process a batch of pending transactions by clicking on PROCESS BATCH.
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 processor
- authorizationMessage
- Payment Transactions -- message from the payment processor
- 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.
- referral.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 overview sortOrder active hideOrderButton categoryId itemNumber UPC materials featured new viewings quantityOnHand quantityLow imageFilename thumbnailFilename options unitprice saleprice specialprice onSale allowReceiptCopy receiptCopy shippingRequired weight organizationId sourceitemNumber 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 billConfirmed not sure shipDate date when order is shipping shipTracking tracking number from the shipper shipMethod textr field with the name of the ship method used shipWeight memberId visitorId visitId visitId
orderDetails
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