Back to Marketplace
Community plugin

Spreadsheets like Google Sheets and Excel

Excel and Google Sheets style spreadsheets inside your CRM: multi-tab workbooks, formulas, formatting, filters, pivot tables, encryption, share links, customer portal access and Glue runbook integration.

Spreadsheets like Google Sheets and Excel

Sheets puts a real spreadsheet inside Perfect CRM, so price lists, quotes, inventory counts, project trackers, onboarding checklists and customer reports live next to the customer record instead of in a file share or somebody's desktop. It works the way Excel and Google Sheets work, so nobody needs training.

Work the way you already do

  • Multi-tab workbooks with an Excel style grid: click, type, Tab, Enter, arrow keys, F2, double-click to edit, drag to select, drag column edges to resize, right-click for the cell menu.
  • Formula bar and name box, 90+ functions (SUM, AVERAGE, IF, IFS, VLOOKUP, XLOOKUP, INDEX/MATCH, SUMIFS, COUNTIFS, TEXT, DATE, EDATE and more), absolute and relative references, whole-column ranges, error values and circular reference detection.
  • Fill handle with series (1, 2, 3 or Item 1, Item 2), formula reference shifting, copy, cut, paste and Paste Special (values only, formats only). Pasting from Excel or Google Sheets just works.
  • Undo and redo, find and replace, freeze panes, AutoSum, and a status bar that shows Sum, Average, Count, Min and Max of the selection.

Format like Excel

  • Right-click menu with a mini formatting toolbar, Insert and Delete rows and columns, Sort, Filter, notes and Format Cells.
  • Format Cells dialog with Number, Alignment, Font, Border and Fill tabs: currency, percent, decimals, thousands separators, dates, scientific, text, fonts, bold, italic, underline, strikethrough, colors, borders and outlines.
  • Color palettes with one-click apply buttons, cell notes with hover tooltips, wrap text and vertical alignment.

Analyze

  • AutoFilter dropdowns: Sort A to Z, text filters (contains, begins with, greater than and more), a search box and a checklist of values with counts.
  • Multi-level Sort dialog: sort by values, cell color or font color, up to eight levels, with header detection.
  • Pivot tables: choose Rows, Columns, Values and Sum, Count, Average, Min or Max. The pivot lands on its own tab with totals and a Refresh button.

Share and protect

  • Autosave with conflict protection: two people can never overwrite each other's work.
  • Share links for people outside the CRM, view only or editable, no login needed, regenerate any time.
  • Customer portal: link a sheet to a customer and choose whether their contacts can view or edit it. Contacts can also create their own spreadsheets and import CSV files.
  • Encryption for sensitive data: one click stores the whole workbook encrypted at rest (AES-256-GCM, same model as the Password Vault and Playbook). Opening it requires the user's own password, and encrypted sheets are never served through public links.
  • CSV import (as a new spreadsheet or a new tab) and CSV export of any tab.

Built into the rest of the CRM

  • A Sheets link with a count on every customer page.
  • A Sheets card in the Glue Center runbook with inline New / Import, and in the customer's portal Playbook.
  • Sheets section in the portal sidebar and dashboard, and a Sheets permission per contact.

Everything is stored in your own database. No third-party services, no API keys, no per-seat fees.

Install Sheets from the Marketplace, or upload sheets.1.1.2.zip under Settings > Modules.
The installer creates two tables (bh_sheets, bh_sheet_tabs) and activates the module. Sheets appears in the sidebar.
Click New Spreadsheet, optionally link it to a customer, and start typing.

Updates: upload the new zip; every release overwrites the same files and adds any new database columns automatically on first load. No manual SQL.

Requirements: PHP 8.0+, MySQL 5.7+ or MariaDB 10.3+. Encryption needs a strong BH_ENCRYPTION_KEY in config/config.local.php (the same key the Password Vault uses); without it the Encrypt button is refused rather than storing data under a weak key.

Companion modules (optional, for the integrations):

Customers 1.1.6+ - Sheets link on the customer page and the Sheets checkbox under Portal Permissions in Edit Contact.
Client Portal 1.3.6+ - Sheets in the portal sidebar and dashboard, the toggle under Settings > Client Portal > Available Sections, and the Sheets card on the portal Playbook.
Glue Center 2.0.6+ - Sheets card on the client runbook.

These versions read a registry that Sheets writes to at boot, so no files need to be edited by hand. Older versions still work; the integrations simply do not appear. After installing, tick Sheets under Settings > Client Portal > Available Sections once to list it in the portal.
Does it open Excel files? Not directly. Import a CSV (as a new spreadsheet or as a new tab) or paste cells straight from Excel or Google Sheets into the grid; formulas, numbers and text paste as expected. Export any tab back to CSV.

Which formulas work? Over 90 common Excel functions: math (SUM, AVERAGE, MIN, MAX, ROUND, MOD, POWER, SQRT, PRODUCT, CEILING, FLOOR), conditional (IF, IFS, SWITCH, IFERROR, AND, OR, NOT, SUMIF, SUMIFS, COUNTIF, COUNTIFS, AVERAGEIF, AVERAGEIFS, MAXIFS, MINIFS, SUMPRODUCT), lookup (VLOOKUP, HLOOKUP, XLOOKUP, INDEX, MATCH, CHOOSE), statistics (MEDIAN, STDEV, VAR, LARGE, SMALL, RANK, COUNTUNIQUE), text (CONCAT, TEXTJOIN, LEFT, RIGHT, MID, LEN, UPPER, LOWER, PROPER, TRIM, SUBSTITUTE, REPLACE, FIND, SEARCH, REPT, EXACT, TEXT, VALUE) and dates (TODAY, NOW, DATE, YEAR, MONTH, DAY, DAYS, WEEKDAY, EDATE, EOMONTH, DATEDIF). Operators + - * / ^ & and comparisons, absolute references ($A$1), ranges (A1:B5) and whole columns (A:A).

Can a formula reference another tab? Not yet. Formulas work within a tab; pivot tables can read from another tab. Cross-tab references are on the roadmap.

Can two people edit at the same time? Everyone can open the same sheet. Changes autosave a second after you stop typing, and every save checks a revision number, so if someone else saved the same tab first you get a Reload banner instead of silently overwriting their work. Live cursors are not part of this release.

How does encryption work, and what if I forget the password? Click Encrypt on a spreadsheet and every tab is stored encrypted with the site encryption key, exactly like the Password Vault and Playbook notes. To open it, staff re-enter their own CRM login password (or authenticator code) and portal contacts re-enter their portal password; the unlock lasts 15 minutes and is shared with the Password Vault. Because the data is encrypted with the site key rather than a separate sheet password, there is no extra password to forget: whoever can log in and prove it is them can open it. Encrypted sheets cannot be shared by public link.

How do share links work? Click Share, choose Can view or Can edit, and copy the link. Anyone with the link can open the sheet without logging in, so treat it like a password. Regenerate the link to cut off everyone who had the old one, or set it to Off. Encrypted sheets never get a link.

How do customers use it in the portal? Link the sheet to the customer (dropdown at the top of the editor), then in Share set the portal mode to Can view or Can edit. Their portal contacts see it under Sheets in the portal, on the dashboard, and on their Playbook. Contacts can also create their own spreadsheets and import CSV files; those are linked to their company automatically. Each contact has a Sheets permission in Edit Contact, on by default.

Where does it show up on the customer record? The customer page sidebar gets a Sheets link with a count that opens that customer's sheets, and the Glue Center runbook gets a Sheets card with Open links and an inline New / Import form.

How big can a sheet be? 5,000 rows by 260 columns per tab, 50 tabs per workbook and 12 MB of cell data per tab. Only cells with content are stored, so a mostly empty grid costs nothing.

Where is the data stored? In your own CRM database, one JSON document per tab. No external service is involved, and uninstalling drops the two tables.

Does it work on a tablet or phone? The editor is responsive and works with mouse or touch for selecting, scrolling and typing. Drag operations (fill handle, column resize) work best with a mouse or trackpad.

What is not included yet? Merged cells, conditional formatting, charts, data validation dropdowns and cross-tab formulas. These are on the roadmap.

v1.1.2

1.1.2 - Sheets card in the Glue Center runbook and the portal Playbook (via the Glue section registry).
1.1.1 - Manifest fix.
1.1.0 - Portal contacts can create spreadsheets and import CSV files. Tab management and CSV import for editable portal sheets. Per-sheet encryption at rest with password unlock, shared with the Password Vault window. Lock badges in lists.
1.0.10 - Sheets link with count on the customer page; per-customer sheet list with New Spreadsheet pre-linked.
1.0.9 - Share, title and client saves report failures instead of staying silent.
1.0.8 - Registers itself with the portal (sidebar, dashboard tile, section toggle, per-contact permission) through the portal registry.
1.0.5 - Fixed Export CSV on share links and portal pages.
1.0.4 - Status bar with Sum, Average, Count, Min, Max. Share links (view or edit). Customer portal access per sheet. Pivot tables with Refresh. Freeze panes. Find and replace. AutoSum. 60 additional functions.
1.0.3 - AutoFilter dropdowns. Multi-level Sort dialog. Color palettes with apply buttons. Fixed fills hidden behind the selection highlight.
1.0.2 - Excel style right-click menu with mini toolbar, Paste Special, Insert/Delete flyouts, notes. Format Cells dialog. Font family and size, decimals, scientific, date and text formats.
1.0.1 - Fill handle with series and formula shifting. Fixed clipped client dropdown.
1.0.0 - First release: multi-tab workbooks, formula engine, formatting, copy/paste, undo/redo, sort, fill down, CSV import/export, autosave with conflict protection, customer link.

See task progress for longer tasks.

sheets.1.0.7.zip
sheets-portal-integration.1.0.7.zip
portal.1.3.5.zip
clients.1.1.5.zip
sheets.1.0.8.zip
sheets.1.0.9.zip
clients.1.1.6.zip
sheets.1.0.10.zip
sheets.1.1.0.zip
sheets.1.1.1.zip
glue.2.0.6.zip
portal.1.3.6.zip
sheets.1.1.2.zip
sheets-listing.1.1.2.md

Track tools and referenced files used in this task.
ScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshot
Featured Community $69.99
$69.99
Paid plugin
Version1.1.2
Last updatedSep 8, 2026
Active installs1
Size75 KB
Seller
Blackhawk CRM