How Fees Work
  • 27 Aug 2024
  • 5 Minutes to read
  • Dark
    Light

How Fees Work

  • Dark
    Light

Article summary

Limitation

Do not use the Virtual Terminal to process a Transaction that includes Fees (Payment Processing or Tax). Fees are not supported by the Virtual Terminal.

Functionality

  • Event Organizers can create a Fee record to store tax and payment processing fee details and assign the Fee to an Event. When a Fee is assigned to an Event, it will be added to the total amount due.
  • Only one Fee can be designated as the Default Fee at a time.
  • The Tabbed, Full-Width, Simple, and Dynamic user interfaces support Fees.
  • The Payments app now includes the Event’s Tax Fee and Event Item’s Tax-Exempt fields in the Invoice/Transaction processing.

If an Event Organizer updates the Fee record’s Tax Display Setting or Fee Percentage values, the corresponding values on the related Event (Tax Fee Calculation Type) and Event Item (Tax Amount and Price with Tax) records will be updated automatically. Values on existing Invoice Line Items and other post-registration or Attendee-specific records will not be changed.

Three new classes were added to sync the updated Fee Percentage and Tax Display Setting values to all Events, Event Items, and Event Item Sessions that use that Fee record.

  • TaxFeeSyncBatch: Batch class to query all active Events and update the tax fields.
  • Event_RecalculateTaxFieldsOnChild: Trigger handler will update the Event Items and Event Item Sessions after the Tax Fee lookup is updated.
  • Tax_RecalculateRelatedRecords: Trigger handler will update the Events, Event Items, and Event Item Sessions after the Fee Percentage and/or Tax Display Setting are updated.

Logic

The fields below are populated using the following logic:

  • Event Tax Fee Calculation Type = Fee Tax Display Setting
  • Event Item Tax Amount = Event Item Price * Event Item Tax Rate
  • Event Item Price with Tax = Event Item Price + Event Item Tax Amount
  • If the Event Item’s Tax-Exempt = “True” (checked), then the Tax Rate will be “0”, the Tax Amount will be “0”, and the Price with Tax will be the same as the Price.
  • Event Item Session Tax Amount = Event Item Session Tax Rate * Event Item Session Price
  • Event Item Session Price with Tax = Event Item Session Price + Event Item Session Tax Amount
  • Event Item Session Tax Rate = Event Tax Fee
  • If the Event Tax Fee field is populated when an Event Item Session is created, the new Event Item Session’s fields will also be populated.
  • If the Event Tax Fee field is updated later, the new Event Item Session fields will also be updated.

The Tax calculation logic was updated to include Event Item Sessions that are not marked as tax-exempt. If an Event Item Session is paid and has a Tax Amount, the Attendee’s Amount due will include the Event Item Price, Event Item Tax Amount, Event Item Session Price, and the Event Item Session Tax Amount.

Event Object

Payment Processing Fee

Limitation

Payment processing Fees cannot be applied to ACH Payment Methods. This feature will be available in the future.

  • The Payment Processing Fee can be changed for each Event.
  • Users who can edit the Event record can also edit the Payment Processing Fee field. If a user does not have access to the Payment Processing Fee field, the field will be populated when a new Event is created if a Default Fee has been defined.

Fee Object

Tax Display Setting

  • The Tax Display Setting field determines how taxes are displayed and calculated for an Event. To turn on tax-inclusive pricing, first set the Fee record's Type = "Tax" and then select a value for Tax Display Setting. The picklist values are as follows.
    • "Tax-Inclusive Pricing” - The advertised price will include tax.
    • "Calculated at Checkout” – The tax will not be visible until the final payment screen.
  • Please note that taxes are always displayed separately on the final payment screen.

Type

The Type field’s picklist options are “Payment Processing Fee” and “Tax.”

  • This field distinguishes between tax fees and payment processing fees. Each type has a corresponding lookup field on the Event object and different functionality.
  • The Type field uses the same permissions as the Default Fee field.
  • Only one Fee of Type = “Payment Processing Fee” can be marked as default.
  • Only one Fee of Type = “Tax” can be marked as default.

When a user creates or edits an Event with the default Fee’s Type set to “Tax”, then the Event’s new Tax Fee field will be populated with the default tax fee. Changes to an Event's Tax Fee will be reflected on all Event Items’ prices and totals. Changes to a Fee record associated with an Event will be reflected on the Event webpage when the Event record is updated.

Company Info Object

Customers can add an Employer Identification Number (EIN) or registration number (Registration Number) to their Company Info record. The EIN or Registration Number will be visible below the company’s address on the DocumentLink Invoice.

The following logic explains when each number is used.

  • The EIN will be listed on the Invoice if the related Company Info record’s EIN field or both EIN and Registration Number fields have a value.
  • The Registration Number will be displayed when only the Registration Number field has a value. The EIN field must be blank.

"EIN" is the EIN field’s default label on the Invoice. Customers can use the Data Dictionary to override the "EIN" label. For example, Australian customers might change the label to "ABN" instead.

Invoice Object

The Invoice record has a new field called Dynamic Fee Name. The field is populated when an Invoice related to an Event with an associated tax Fee is created or updated. The field’s value will then be used in DocumentLink’s Invoice to override the Tax column’s label.

  • If the Dynamic Fee Name field on the Invoice contains a value, it will be used instead of the Tax column label for the DocumentLink.
  • If the Dynamic Fee Name field is blank, the Invoice's Dynamic Fee Name field will not be used as the header for the Tax column. In this case, the label will be Tax.

Invoices and Line Items will accurately reflect totals, including taxes (for exempt and non-exempt Event Items), discount Codes, and payment processing fees. The Tax Amount for all Line Items (Event Items) will be reflected on the Invoice and in any rollups to the Event. Line Item taxes and the Invoice’s total Tax Amount will also be visible on the Invoice’s DocumentLink.

Event Item Object

An Event Item can be designated as non-taxable by using the Tax-Exempt field.

Cloning Events

Cloning an existing Event with a Payment Processing Fee will result in a cloned Event that includes the same Payment Processing Fee value.

  • If the original Event's Payment Processing Fee field is blank, the cloned Event's Payment Processing Fee will also be blank.
  • If a Default Fee value exists on the original Event, the cloned Event will have the Default Fee related to it.
  • The Payment Processing Fee related to the Event that is being cloned takes priority over the Default Fee, including empty fields.

What's Next