- Blackthorn Candy Shop
- Blackthorn Events
- Welcome to Blackthorn Events!
- Events Quick Start Guide
- Install Events
- Payment Gateway Setup
- Payment Gateway Setup Overview
- Connect to Stripe
- Connect to Authorize.net
- Connect to Spreedly
- Connect to Transact (CashNet)
- Connect to TouchNet
- Add-Ons
- Entity Relationship Diagrams
- Blackthorn | Events Admin Tab
- Event Builder
- Event Wizard
- Events: Objects
- Attendee
- Budget and Expense
- Custom Content
- Discount Codes
- Event Content
- Event Groups
- Event Items
- Event Keywords
- Event Registration Submission Process
- Event Settings
- Events
- FAQs
- Fees
- Forms
- Hotel Room Block Management
- Recurring Events
- Reserved Seats and Tables
- Sessions
- Speakers
- Sponsors
- Staff
- Static Translations
- Tracks
- Events: Features
- ADA & WCAG Accessibility
- Advanced Visibility
- Attendee Builder
- Attendee Registration Component
- AttendeeLink
- Authentication via iframe
- Campaign and Event Sync
- Transact (CashNet)
- Clone
- Customized Blackthorn Events Domain
- Data Persistence
- Enable Cookies
- Event Configuration
- Event Email Communication
- Events Summary Home Page
- Experience Cloud (Communities)
- Event Tracking
- Express Registration
- Fees
- Google Analytics
- Iframes
- Images
- Marketing Communication
- Matching and Duplication
- Permissions - Restricting Event Visibility
- Permission Sets
- Pre-checkout and Checkout Details
- reCAPTCHA
- Reports
- Restrict Capacity
- Salesforce Products
- Scheduled Jobs
- Sharing via Social Media
- Smart Scheduler
- Stripe Checkout
- TouchNet
- User Interfaces
- Webinar Integrations
- Checkout Process
- Mobile Check-in App
- Events: Troubleshooting
- Events: Release Notes & Webinar Recordings
- January 2025 - Version 4.44
- December 2024 - Version 4.42
- November 2024 - Version 4.40
- October 2024 - Version 4.36
- September 2024 - Version 4.34
- August 2024 - Version 4.31
- July 2024 - Version 4.29
- June 2024 - Version 4.27
- May 2024 - Version 4.24
- Caching 2.0 and Capacity Management - Version 4.23
- April 2024 - Version 4.22
- March 2024 - Version 4.20
- February 2024 - Version 4.19
- January 2024 - Version 4.17
- 2023
- December 2023 - Version 4.14
- November 2023 - Version 4.11
- October 2023 - Version 4.9
- September 2023 - Version 4.5
- August 2023 - Version 4.0
- July 2023 - Version 3.103.2
- June 2023 - Version 3.102
- May 2023 - Version 3.99
- April 2023 - Version 3.97
- March 2023 - Version 3.95
- February 2023 - Version 3.90.2
- January 2023 - Version 3.88
- 2022
- 2021
- December 2021 - Version 3.48
- November 2021 - Version 3.42
- October 2021 - Version 3.39
- September 2021 - Version 3.34
- August 2021 - Version 3.32
- July 2021 - Version 3.30
- June 2021 - Version 3.27
- May 2021 - Version 3.24
- April 2021 - Version 3.22
- March 2021 - Version 3.19
- February 2021 - Version 3.18
- January 2021 - Version 3.11
- Blackthorn Payments
- Welcome to Blackthorn Payments
- Payments Quick Start Guide
- Overview
- Install Payments
- Provide Users Access
- Payment Gateway Setup
- Instructions
- Connect to Stripe
- Connect to Authorize.net
- Connect to Spreedly
- PayLink
- Virtual Terminal
- DocumentLink
- Move Historical Data to Blackthorn
- FSL Extension Package (Optional)
- Go Live in Production
- Use Cases
- Payments: Objects
- Payments: Features
- Authorize.net
- Blackthorn | Payments Admin
- Communities & Billing Portal
- Custom Metadata Types
- Custom Settings
- Dashboard
- Default Payment Method
- DocumentLink
- Email Receipts
- Field Service Lightning Payments
- Flow Screen Charge Component
- FSL Mobile Actions (without our iOS/Android app)
- High Volume Batch Processing
- Historical Sync
- Level 3 Processing
- Matching and Duplication
- Multi-Currency
- PayLink
- Permission Sets
- Plaid
- Process Scheduled Transactions and Reattempt Logic
- Recurring Charges and Subscription Options
- Reports
- Salesforce Shield / Platform Encryption with all Blackthorn apps
- SCA and MOTO
- Scheduled Batch Jobs
- Spreedly
- Stripe
- Stripe Billing
- Stripe Checkout
- Stripe Metadata
- Stripe Radar Integration
- Test Data
- Virtual Terminal
- Webhooks
- Mobile Payments App
- Payments: Troubleshooting and FAQ
- Payments: Release Notes & Webinar Recordings
- January 2025 - Version 6.28
- December 2024 - Version 6.27
- November 2024 - Version 6.26
- October 2024 - Version 6.25
- September 2024 - Version 6.23
- August 2024 - Version 6.22
- July 2024 - Version 6.20
- June 2024 - Version 6.19
- May 2024 - Version 6.18
- April 2024 - Version 6.17
- March 2024 - Version 6.16
- February 2024 - Version 6.13
- January 2024 - Version 6.11
- 2023
- December 2023 - Version 6.8
- November 2023 - Version 6.6
- October 2023 - Version 6.4.1
- September 2023 - Version 6.3
- August 2023 - Version 6.0.1
- July 2023 - Version 5.108.2
- June 2023 - Version 5.106
- May 2023 - Version 5.103
- April 2023 - Version 5.99.1
- March 2023 - Version 5.95
- February 2023 - Version 5.93
- January 2023 - Version 5.91
- 2022
- 2021
- December 2021 - Version 5.46
- November 2021 - Version 5.41
- October 2021 - Version 5.34
- September 2021 - Version 5.33
- August 2021 - Version 5.31
- July 2021 - Version 5.29
- June 2021 - Version 5.24
- May 2021 - Version 5.22
- April 2021 - Version 5.20
- March 2021 - Version 5.17
- February 2021 - Version 5.15
- January 2021 - Version 5.14
- Blackthorn Messaging
- Welcome to Blackthorn Messaging!
- Configure Bulk Messaging
- Installation
- Create a Template
- Account Setup
- Individual Messaging
- Conversation Maintenance
- Phone Number Lookups
- Campaigns
- Automation
- Additional Features
- A2P Form in Admin Page
- After Hours Response
- Auto Recharge your Message Balance
- Click to Call with CTI
- Configure Default and Excluded Phone Fields by Object
- Filter your Inbox Using Conversation List Views
- HELP and STOP Message Compliance
- How Do I Increase our Message Balance?
- Improved File Management for MMS Attachments
- Link Tracking
- Manage Opt-outs
- Number of Conversations in the Messenger
- Number of Conversations to Load in Inbox
- Prohibit Sending Attachments (Custom Permission)
- Schedule Jobs for Admin
- Schedule SMS Messages
- Set a Default from Number
- Short Codes
- Smart Scheduler
- Sticky Sidebar in the Inbox
- Track Phone Number Opt-ins
- Smart Scheduler
- Setup
- Getting Started
- Self-Service Tasks
- FAQ
- General FAQ
- Attachments FAQ
- Do You Have a List of Published IP Addresses?
- How Do I Update my Payment Method?
- How Do I Grant Access to Messaging Support?
- What Does this Error Message Mean?
- What Happens When my Message Balance Reaches Zero?
- Why don’t I see any phone numbers when I try to send a message?
- Release Notes
- February 2025 - Version 3.47
- October 2024 - Version 3.46
- July 2024 - Version 3.44.3
- June 2024 - Version 3.44.1
- May 2024 - Version 3.44
- April 2024 - Version 3.43.21
- February 2024
- January 2024
- 2023
- 2022
- 2021
- 2020
- Blackthorn Compliance
- Installation Guide
- Extend Blackthorn Compliance to Other Objects
- Auditing
- FATQ's: Frequently Asked Technical Questions
- Detection Patterns
- Supported File Types - SecureAttachment
- API Limits - Secure Attachment
- Customize Blackthorn Compliance with Apex
- Change AppExchange Payment Method
- Extension Packages
- Install / Setup SecureAttachment
- Debugging and Errors
- Compliance Release Notes
- Compliance - January 2025
- Compliance - February 2024
- Compliance - July 2023
- Compliance - April 2023
- Compliance - December 2022
- Compliance - October 2022
- Compliance - July 2022
- Compliance - June 2022
- Compliance - March 2022
- Compliance - February 2022
- Compliance - December 2021
- Compliance - November 2021
- Compliance - Release 3.71
- Compliance - Release 3.6
- Compliance - Release 3.2
- Compliance - Release 3.0
- Blackthorn Support
- 27 Aug 2024
- 5 Minutes to read
- Print
- DarkLight
How Fees Work
- Updated on 27 Aug 2024
- 5 Minutes to read
- Print
- DarkLight
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
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.