9-Month Development Summary (March 2025 – December 2025)
This document provides a comprehensive breakdown of all new features, improvements, and bug fixes implemented in the Base platform over the past 9 months. Each item includes detailed context about what was built, what problem it solves, and how users can benefit from it.
NEW FEATURES
1. Global Search
Federated Search Across All Modules
A powerful new search capability that allows users to search across the entire platform from a single input field. Previously, users had to navigate to individual modules (Jobs, Companies, Invoices, etc.) and search within each one separately. Now, users can type a search term once and see results from Jobs, Companies, Invoices, Projects, Contracts, Vessels, Ports, and Files all in one unified results view.
What it solves: Eliminates the tedious workflow of checking multiple modules to find related information. For example, when searching for a vessel name, users instantly see all jobs, invoices, and files related to that vessel without navigating between screens.
What users can do:
- Search for any keyword and get results across all modules instantly
- Find related records across the platform without switching between pages
- Quickly locate jobs, invoices, companies, vessels, or any other entity by name, number, or description
- Access search from the sidebar for quick access from any page
Enhanced Search Matching
Improved the search algorithm to better match against charges, expenses, and job descriptions. The search now understands context and returns more relevant results when users search for financial terms or job-related content.
What it solves: Previous search would miss relevant results when searching for charge descriptions or expense notes. Now, if a user searches for “fuel” they’ll find all jobs with fuel charges, expenses with fuel in the description, and any related records.
2. Payment Management & Reconciliation
Payment Import from Accounting Software
Users can now import payment data directly from their connected accounting platforms (QuickBooks Online and Xero). Instead of manually entering payment information, the system pulls payment records from the accounting software and matches them to corresponding invoices in Base.
What it solves: Eliminates double data entry. Previously, when a customer paid an invoice and the accountant recorded it in QuickBooks, someone had to manually update Base to mark the invoice as paid. Now this happens automatically through the import.
What users can do:
- Import payment batches from QuickBooks or Xero
- See which payments have been received and matched to invoices
- Reduce manual data entry for payment recording
- Keep Base and accounting software in sync
Payment Reconciliation Workflow
A new dedicated workflow for reconciling imported payments with outstanding invoices. Users can review imported payments, match them to the correct invoices, and handle partial payments or overpayments.
What it solves: When payments don’t automatically match (due to amount differences, missing references, or partial payments), users need a way to manually reconcile. This workflow provides a clear interface for matching payments to invoices and resolving discrepancies.
What users can do:
- Review all unmatched payments in one place
- Manually match payments to invoices when automatic matching fails
- Handle partial payments and allocate across multiple invoices
- Track reconciliation status for audit purposes
Payment Status Automation
Payments now trigger automatic status changes on related jobs and invoices. When a payment is recorded, the system can automatically update job statuses, send notifications, and trigger other configured automations.
What it solves: Previously, recording a payment was just a data entry action. Now, receiving payment can automatically close out jobs, notify relevant team members, and update dashboards – reducing manual follow-up work.
What users can do:
- Configure automation rules for payment events
- Automatically change job status when payment is received
- Trigger notifications when invoices are paid
- Create workflows that respond to payment milestones
3. Vessels & Fleet Management
Complete Vessels Module
A full-featured module for managing vessel information. Users can create, edit, and organize vessel records with detailed specifications, documentation, and operational history. Each vessel record can store vessel type, dimensions, registration details, and other maritime-specific information.
What it solves: Maritime and port services companies need to track which vessels they service. Previously, vessel information was scattered across job notes and custom fields. Now, vessels are first-class entities that can be linked to multiple jobs, tracked over time, and reported on.
What users can do:
- Create and maintain a database of all vessels serviced
- Link vessels to jobs, projects, and port calls
- Store vessel specifications and documentation
- Track which jobs and services have been performed on each vessel
- Filter and report by vessel across the platform
Fleet Management
Group vessels into fleets for easier organization and filtering. A fleet represents a collection of vessels owned by the same company or operating together.
What it solves: Large clients often have multiple vessels, and users need to see activity across an entire fleet rather than individual vessels. Fleet grouping enables fleet-level reporting and filtering.
What users can do:
- Create fleet groups and assign vessels to them
- Filter jobs and invoices by fleet
- See all activity for a customer’s entire fleet in one view
- Report on fleet-level performance and revenue
Vessel Map View
A real-time map visualization showing vessel positions. Users can see where vessels are located geographically, which is particularly useful for port operations and logistics planning.
What it solves: Operations teams need situational awareness of vessel positions to plan services, coordinate with port authorities, and schedule work. The map view provides at-a-glance visibility of the fleet.
What users can do:
- View vessel positions on an interactive map
- Click on vessels to see details and linked jobs
- Plan operations based on vessel proximity to ports
- Share vessel location views with team members
Vessel Timeline
A chronological view of a vessel’s history with the organization. Shows all jobs, port calls, and services performed on a vessel over time.
What it solves: When a vessel returns for service, operations teams need quick access to history – what was done last time, any outstanding issues, and relationship context. The timeline provides this historical view.
What users can do:
- View complete service history for any vessel
- See when jobs were performed and by whom
- Track maintenance and service patterns
- Reference previous work when quoting new jobs
Vessel and Fleet Permissions
Granular permission controls for who can view and edit vessel/fleet information, and who can assign vessels to jobs and projects.
What it solves: Not all team members should have access to vessel data, especially for sensitive client information. Permission controls ensure the right people see the right data.
What users can do:
- Control which user roles can view vessel information
- Restrict who can assign vessels to jobs
- Hide vessel inputs from users without appropriate permissions
- Maintain data security for client fleet information
4. Ports & Terminals
Port Calls Feature
Track and manage port calls – when vessels arrive at and depart from ports. Port calls are linked to jobs, vessels, and terminals, providing a complete picture of port operations.
What it solves: Port service companies need to track vessel arrivals and departures, coordinate services during port stays, and report on port activity. Port calls provide this operational tracking.
What users can do:
- Record vessel arrivals and departures
- Link port calls to jobs and services
- Track vessel time at port
- Report on port call frequency and duration
- Plan operations around scheduled port calls
Terminals and Berth Management
Manage port terminals and berths where vessels dock. Track which berths are available, which are occupied, and manage berth assignments.
What it solves: Port operators need to manage limited berth space, coordinate vessel assignments, and track utilization. This module provides berth-level visibility and management.
What users can do:
- Define terminals and berths within ports
- Assign vessels to specific berths
- Track berth occupancy and availability
- Plan vessel movements between berths
Port Files Tab
A dedicated section for storing and organizing files related to ports – permits, regulations, terminal maps, contact lists, and other port-specific documentation.
What it solves: Port operations require access to various documents like port regulations, terminal layouts, and contact information. Centralizing these in the port record ensures easy access when needed.
What users can do:
- Upload and organize port-related documents
- Share port documentation with team members
- Access port files directly from port records
- Maintain current versions of port permits and regulations
Port API Integration
External API integration for looking up port names and information. When users enter a port, the system can validate and auto-complete port information from an external maritime database.
What it solves: Ensures consistent port naming across the platform and reduces data entry errors. Users don’t have to remember exact port names or codes.
What users can do:
- Auto-complete port names as they type
- Validate port information against maritime databases
- Reduce data entry errors
- Maintain consistent port naming across the organization
5. Advanced Custom Formula Fields
Formula Concatenation
Formula fields can now concatenate (combine) text values, not just perform mathematical calculations. Users can create formulas that combine multiple field values into a single output.
What it solves: Users needed to create calculated text fields that combine information from multiple sources. For example, creating a “Vessel Summary” field that combines vessel name, IMO number, and flag state into a single formatted string.
What users can do:
- Create formula fields that combine text from multiple fields
- Build formatted display strings automatically
- Concatenate job information for reports and documents
- Create dynamic descriptions based on other field values
Formulas on Documents
Formula custom fields now render correctly on generated documents (invoices, quotes, purchase orders). The calculated values appear in the document output, not just on screen.
What it solves: Previously, formula fields would show blank or incorrect values when documents were generated. Now, the calculated results appear correctly in generated PDFs and printed documents.
What users can do:
- Include formula calculations in invoice line items
- Show computed totals and summaries on quotes
- Create dynamic document content based on calculations
- Generate documents with accurate formula-based values
Enhanced Formula Processing
Improved handling of formulas with large numbers, negative values, and edge cases. Fixed issues where formulas would show “NaN” (Not a Number) instead of proper values.
What it solves: Users reported formula fields showing errors or incorrect values, especially with large numbers (thousands), negative values, or when referenced fields were empty. These edge cases are now handled gracefully.
What users can do:
- Use formulas with large currency amounts without display errors
- Create formulas that handle negative numbers correctly
- Trust that empty fields won’t break formula calculations
- See proper number formatting in formula results
6. API & App Integrations Platform
API Key Management
A self-service system for generating and managing API keys. Organizations can create API keys for external applications to access Base data programmatically.
What it solves: Integration developers and IT teams needed a way to generate API credentials without contacting support. Self-service API key management enables faster integration development.
What users can do:
- Generate API keys for external applications
- Manage multiple API keys for different integrations
- Revoke API keys when no longer needed
- Track which API keys are in use
OpenAPI Specification & Documentation
Comprehensive API documentation following the OpenAPI (Swagger) standard. Developers can explore available endpoints, see request/response formats, and test API calls.
What it solves: Developers building integrations with Base needed clear, comprehensive API documentation. The OpenAPI spec provides machine-readable documentation that works with standard development tools.
What users can do:
- Explore all available API endpoints
- See exactly what data each endpoint expects and returns
- Generate client code automatically from the spec
- Test API calls in an interactive documentation interface
App Management
Register and manage third-party applications that connect to Base. Track which apps have access to organizational data and manage app permissions.
What it solves: As organizations connect more external applications, they need visibility into what’s connected and what data each app can access. App management provides this control and visibility.
What users can do:
- View all connected third-party applications
- Manage permissions for each connected app
- Disconnect apps that are no longer needed
- Track app activity and data access
7. Job Templates
Reusable Job Templates
Create templates for commonly used job configurations. Templates can include pre-filled fields, default charge codes, assigned team members, and other job settings.
What it solves: Many organizations create similar jobs repeatedly (recurring services, standard operations). Templates eliminate repetitive data entry by pre-configuring common job types.
What users can do:
- Create templates for recurring job types
- Pre-configure charges, expenses, and line items in templates
- Set default values for custom fields
- Create jobs from templates with one click
- Maintain consistency across similar jobs
Template Manager Interface
A dedicated interface for creating, editing, and organizing job templates. Templates can be categorized and organized for easy access.
What it solves: As organizations build up template libraries, they need a way to organize and manage them. The template manager provides a clean interface for template administration.
What users can do:
- Browse and search available templates
- Edit existing templates to update defaults
- Organize templates by category or type
- Preview template configurations before creating jobs
8. Job Types
Organization-Specific Job Categorization
Define custom job types specific to your organization. Job types provide standardized categorization that can drive workflows, reporting, and defaults.
What it solves: Different organizations categorize jobs differently based on their business. Job types provide a flexible, organization-specific categorization system that can be customized to match any business model.
What users can do:
- Create custom job type categories
- Assign types to jobs for better organization
- Filter and report by job type
- Configure different behaviors for different job types
Migration from Legacy Custom Fields
Automatic migration of job categorization from legacy custom fields to the new job types system. Existing data is preserved while gaining new functionality.
What it solves: Organizations that used custom fields for job categorization can now benefit from native job type features without losing historical data or requiring manual re-entry.
What users can do:
- Migrate existing custom field categories to job types
- Preserve historical categorization data
- Gain new job type features for existing data
- Clean up redundant custom fields after migration
9. Status Configuration & Workflow
Status Groups
Organize job statuses into logical groups (e.g., “Open”, “In Progress”, “Completed”, “Cancelled”). Status groups enable higher-level reporting and filtering.
What it solves: Organizations may have many detailed statuses, but often need to report on broader categories. Status groups provide this summarization without losing status detail.
What users can do:
- Group related statuses together
- Report on status group totals
- Filter by status group instead of individual statuses
- Create dashboards using status group summaries
Automation Locks
Lock certain automations to specific status transitions. Ensure that automations only fire when status changes happen in the expected sequence.
What it solves: Automations could sometimes fire unexpectedly when statuses were changed out of sequence. Automation locks ensure workflows run only in the intended order.
What users can do:
- Define valid status transition sequences
- Prevent out-of-order status changes
- Ensure automations fire predictably
- Maintain workflow integrity
Status Configurator UI
A visual interface for configuring status workflows, groups, and automations. Drag-and-drop status configuration with visual workflow preview.
What it solves: Status configuration was previously complex and required support assistance. The visual configurator makes it self-service and intuitive.
What users can do:
- Visually design status workflows
- Configure status transitions with drag-and-drop
- Preview how statuses will flow
- Make status changes without support tickets
10. Excel Export & Email System
Excel File Exporting
Export any table data to Excel format with full formatting and structure preserved. Exports include all visible columns, respect current filters, and maintain data types.
What it solves: Users needed to get data out of Base for external analysis, sharing with clients, or archival. Excel export provides a universal format that works with any spreadsheet software.
What users can do:
- Export any table to Excel with one click
- Include current filters and sorting in exports
- Export custom field data alongside standard fields
- Create reports for external sharing
Email Excel Exports
Send Excel exports directly via email without downloading first. Recipients get the Excel file attached to an email sent from Base.
What it solves: Users often export data just to email it to someone else. Email export combines these steps, saving time and ensuring recipients get the data without manual file attachment.
What users can do:
- Email table exports directly to colleagues or clients
- Schedule regular export emails
- Share filtered data views with external parties
- Maintain audit trail of what was shared with whom
Enhanced Export Columns
Added additional columns to exports including data that wasn’t previously available in export format. Charges, expenses, and other detailed data now export with complete information.
What it solves: Users complained that exports were missing important data columns. Enhanced exports include all the information needed for complete reporting.
What users can do:
- Export complete charge details including all custom fields
- Get expense data with full categorization
- Include related entity information in exports
- Create comprehensive reports with all available data
11. Notification & Inbox System
Redesigned Inbox Screen
A completely redesigned inbox interface with improved organization, faster loading, and better notification management. Notifications are grouped logically and easier to act on.
What it solves: The previous inbox was cluttered and slow. The redesign provides a cleaner interface that loads faster and makes it easier to find important notifications.
What users can do:
- See notifications organized by priority and type
- Mark notifications as read/unread in bulk
- Filter notifications by category
- Access the inbox from any page via the sidebar
Infinite Scroll Performance
Optimized infinite scroll loading for the inbox. Notifications load smoothly as users scroll, without page jumps or loading delays.
What it solves: Users reported janky scrolling and slow loading when viewing many notifications. Infinite scroll optimization provides smooth, fast notification browsing.
What users can do:
- Scroll through notifications without delays
- Load historical notifications seamlessly
- Browse large notification volumes efficiently
Activity Timeline Improvements
Enhanced activity timeline display with better skeleton loading states. The timeline shows a smooth loading experience instead of blank space while data loads.
What it solves: The activity timeline would show blank space while loading, which looked broken. Skeleton loading provides visual feedback that content is coming.
What users can do:
- See loading progress in activity timelines
- Experience smoother page loads
- Understand that content is loading rather than missing
Notification Settings on Membership
Configure notification preferences when users are added to organizations. New members get appropriate notification settings from the start.
What it solves: New users would either get too many notifications or miss important ones because defaults weren’t set. Membership-level notification settings ensure appropriate configuration from day one.
What users can do:
- Set notification defaults for new members
- Configure what notifications new users receive
- Ensure consistent notification setup across the team
13. Support Access
In-App Support Button
A persistent support button that provides quick access to help resources, documentation, and support contact options from any page in the application.
What it solves: Users had to leave the application or search for contact information when they needed help. The support button provides instant access to help resources.
What users can do:
- Access help documentation without leaving their current page
- Contact support with one click
- Submit support tickets with context automatically included
- Access chat or email support as preferred
14. Dashboard & Analytics
Query Caching for Dashboard
Implemented caching for dashboard queries to dramatically improve load times. Dashboard data is cached intelligently and refreshed in the background.
What it solves: Dashboards were slow to load because each widget queried the database separately. Caching reduces database load and provides near-instant dashboard rendering.
What users can do:
- Load dashboards instantly instead of waiting
- See data immediately with background refresh
- Navigate between dashboards quickly
Invoice-Based Dashboard Cards
Dashboard cards now show metrics based on invoice data rather than estimates. Cards reflect actual billed amounts and invoice statuses.
What it solves: Dashboard metrics were sometimes confusing because they mixed estimates with actuals. Invoice-based cards show definitive financial metrics.
What users can do:
- See actual invoiced revenue on dashboards
- Track invoice status totals (draft, sent, paid)
- Get accurate financial snapshots
Custom Dashboard and Project Cards
Customizable dashboard cards that can be configured per organization. Different organizations can see different metrics on their dashboards.
What it solves: Not all organizations care about the same metrics. Customizable cards allow each organization to see what’s important to them.
What users can do:
- Configure which metrics appear on dashboards
- Create organization-specific dashboard layouts
- Focus on the KPIs that matter most
15. Document Generation
Formula Fields on Documents
Custom formula fields now render correctly on generated documents including invoices, quotes, and purchase orders. Calculated values appear in the final document output.
What it solves: Formula fields would show as blank or wrong values on generated documents. Now calculations display correctly on all document types.
What users can do:
- Include calculated totals on invoices
- Show formula-based line items on quotes
- Generate documents with dynamic calculated content
Document Template Routing
Route document generation to specific saved templates. When generating documents, users can select from their organization’s template library.
What it solves: Users needed to manually configure document formatting each time. Template routing allows one-click generation with saved formatting preferences.
What users can do:
- Save document formatting as templates
- Generate documents using saved templates
- Maintain consistent document appearance
- Switch between templates for different purposes
16. Exchange Rates & Currency
Line Item Exchange Rates
Apply exchange rates at the individual line item level, not just the document level. Each charge or expense can use a different exchange rate if needed.
What it solves: Multi-currency jobs where different charges were incurred on different dates needed different exchange rates. Line-item rates provide this precision.
What users can do:
- Apply date-specific exchange rates to individual charges
- Handle multi-currency jobs accurately
- Match exchange rates to the date costs were incurred
Currency Conversion for Job Documents
Automatic currency conversion when generating job documents. Documents can be generated in the customer’s preferred currency with automatic conversion.
What it solves: Jobs with costs in one currency needed to be invoiced in another. Automatic conversion eliminates manual currency calculations.
What users can do:
- Generate invoices in customer’s currency regardless of cost currency
- Apply exchange rates automatically during document generation
- Maintain audit trail of applied exchange rates
Exchange Rate Display on Invoices
Show the applied exchange rate on invoice documents so customers can see the conversion used.
What it solves: Customers want transparency about exchange rate calculations. Displaying rates on invoices provides this clarity.
What users can do:
- Show exchange rates used on invoice documents
- Provide transparency to customers on currency conversions
- Maintain documentation of applied rates
Exchange Rate Page Improvements
Enhanced the exchange rate management page with features including disabling future dates (can’t set rates for dates that haven’t happened), links to related documents, and improved graph display.
What it solves: The exchange rate page was basic and had usability issues. Improvements make rate management more intuitive and prevent data entry errors.
What users can do:
- Manage exchange rates with an improved interface
- See which documents use each exchange rate
- View exchange rate history graphically
- Prevent accidentally entering future-dated rates
🔧 BUG FIXES & IMPROVEMENTS
17. Jobs Module Fixes
Quick Copy Job Number
Added one-click copying for job numbers. Click a copy icon next to any job number to copy it to the clipboard instantly.
What was wrong: Users had to manually select and copy job numbers, which was tedious when referencing jobs in emails or other systems.
What’s fixed: Single-click copying makes it effortless to copy job numbers for use elsewhere.
Job Duplication Performance
Improved the job duplication feature to run faster and handle more complex jobs with many line items, charges, and related data.
What was wrong: Duplicating jobs with lots of data was slow and sometimes timed out.
What’s fixed: Job duplication now handles complex jobs quickly and reliably.
Duplicate from Table
Added ability to duplicate jobs, charges, and expenses directly from their respective tables without opening the full record.
What was wrong: To duplicate an item, users had to open it first, then find the duplicate action.
What’s fixed: Right-click or action menu duplication directly from tables saves clicks and time.
Archived Jobs in Exports
Excluded archived/cancelled jobs from charge exports by default. Users can still include them if needed, but the default behavior excludes them.
What was wrong: Exports included archived jobs, inflating totals and cluttering reports.
What’s fixed: Exports focus on active jobs by default, providing cleaner reports.
Custom Field Sorting on Job Table
Custom fields can now be used as sort columns on the job table. Click any custom field column header to sort by that field.
What was wrong: Users couldn’t sort jobs by custom field values, limiting the usefulness of custom fields for organization.
What’s fixed: Full sorting support for custom fields makes them as useful as built-in fields for organizing job lists.
All Charges Export Button
Added an “Export All Charges” button to the job table toolbar. One click exports all charges across visible jobs.
What was wrong: Exporting charges required navigating into jobs or using complex filter combinations.
What’s fixed: Quick access to charge exports directly from the job list.
Job Year Parameter Fix
Fixed an issue where the current year wasn’t being passed correctly when building job numbers, causing incorrect job number sequences.
What was wrong: Job numbers could generate with wrong year values in certain edge cases.
What’s fixed: Job numbers always use the correct year value.
Editing Vessels/Ports/Fleet on Jobs
Fixed issues preventing proper editing of vessel, port, and fleet assignments on existing jobs.
What was wrong: Users couldn’t change vessel or port assignments after job creation, or changes wouldn’t save correctly.
What’s fixed: Vessel, port, and fleet fields can be edited reliably on existing jobs.
Guest Permissions for Job Details
Fixed permission checks so guest users see appropriate job detail sections based on their access level.
What was wrong: Guest users either saw too much or too little information on job detail pages.
What’s fixed: Guest access is properly scoped to show only what they should see.
Jobs Per Page Display
Fixed an issue where the “250 per page” option wasn’t displaying correctly on job tables.
What was wrong: Selecting to view 250 jobs per page would show fewer or cause display issues.
What’s fixed: All “per page” options work correctly.
Job Table Matching Job Details
Ensured that custom field visibility and values shown on the job table exactly match what’s shown on job detail pages.
What was wrong: Custom fields would sometimes show different values on the table vs. the detail page due to different data fetching.
What’s fixed: Consistent custom field display across table and detail views.
NaN Errors in Job Displays
Fixed formula fields and calculated values showing “NaN” (Not a Number) instead of proper values in job displays.
What was wrong: Empty fields or certain number formats would cause formulas to display NaN.
What’s fixed: Proper handling of edge cases prevents NaN display.
Custom Fields on Job Table Visibility
Fixed custom fields not appearing on the job table even when configured to be visible.
What was wrong: Users would add custom fields and enable them in table settings, but they wouldn’t appear.
What’s fixed: Custom fields appear correctly when enabled in table configuration.
Remove Block for Adding Job Items
Removed an unnecessary restriction that prevented adding line items to jobs in certain statuses.
What was wrong: Users couldn’t add charges or expenses to jobs that had reached certain statuses, even when it was operationally necessary.
What’s fixed: More flexible item addition that doesn’t block legitimate workflows.
Job Duplication Bug
Fixed various issues with job duplication including missing data, incorrect values, and relationship issues.
What was wrong: Duplicated jobs were missing some data or had incorrect relationships to other entities.
What’s fixed: Job duplication creates complete, accurate copies.
18. Invoice & Accounts Receivable Fixes
Invoice Create Error Fix
Fixed errors that would occur when creating new invoices in certain scenarios.
What was wrong: Creating invoices would sometimes fail with validation errors or crash the page.
What’s fixed: Reliable invoice creation in all scenarios.
Exchange Rate Display on Invoice Generation
Exchange rates are now displayed during invoice generation so users can verify the conversion being applied.
What was wrong: Users couldn’t see what exchange rate would be used until after generating the invoice.
What’s fixed: Transparency during invoice generation about currency conversion.
Comma Formatting for Numbers on Final Invoice
Numbers on final invoices now display with proper comma separators for thousands.
What was wrong: Large numbers displayed without separators (1000000 instead of 1,000,000), making them hard to read.
What’s fixed: Proper number formatting for readability.
Final Invoice Fixes
Multiple fixes to final invoice generation including data accuracy and format issues.
What was wrong: Final invoices had various issues with calculated values and display.
What’s fixed: Accurate, well-formatted final invoices.
Total Invoices in Dashboard
Fixed incorrect totals showing on the dashboard for invoice counts and values.
What was wrong: Dashboard showed wrong invoice totals due to query issues.
What’s fixed: Accurate invoice metrics on dashboards.
404 Errors in AR Module
Fixed navigation issues causing 404 (page not found) errors when accessing certain AR records.
What was wrong: Some invoice links would lead to 404 pages, requiring users to navigate manually.
What’s fixed: All AR links work correctly.
Project Revenue on Table
Fixed incorrect revenue calculations displaying in project tables and related job tables.
What was wrong: Revenue figures didn’t match actual invoiced amounts.
What’s fixed: Accurate revenue display matching actual invoices.
Currency Correction for AR Invoices
Fixed currency handling to properly convert and display multi-currency invoices in AR.
What was wrong: Invoices in different currencies weren’t converting properly for AR totals.
What’s fixed: Correct multi-currency handling in accounts receivable.
Get Invoices for Payments
Fixed invoice retrieval to properly load payment-related information.
What was wrong: Invoice data was missing payment status or payment history when loaded.
What’s fixed: Complete invoice data including payment information.
Project Invoice Dropdown
Fixed dropdown selection issues when choosing projects for invoices.
What was wrong: Project dropdown wouldn’t load options or would show wrong projects.
What’s fixed: Working project selection on invoices.
AR Invoice Dropdown
Fixed similar dropdown issues specific to AR invoice forms.
What was wrong: Dropdown menus on AR invoices weren’t functioning properly.
What’s fixed: All dropdowns on AR invoices work correctly.
Get Invoice Include Fix
Fixed data loading to include all related information when fetching invoices.
What was wrong: Invoice pages were missing some related data like line items or customer info.
What’s fixed: Complete invoice data loads including all related records.
Due Date on AR Invoices
Fixed due date calculation and display on accounts receivable invoices.
What was wrong: Due dates were calculated incorrectly or not displaying.
What’s fixed: Correct due date calculation based on payment terms.
Export for Members and AR Invoice Tables
Fixed export functionality for member lists and AR invoice tables.
What was wrong: Exports would fail or produce incomplete data for these tables.
What’s fixed: Complete, accurate exports from all tables.
19. Accounts Payable Fixes
AP and AR Tables Update
Comprehensive updates to both AP and AR table displays for consistency and improved functionality.
What was wrong: Tables had various display inconsistencies and missing features.
What’s fixed: Improved, consistent table experience across AP and AR.
AP Version 6.3 Update
Major update to accounts payable module with accumulated improvements and fixes.
What was wrong: AP module had accumulated technical debt and minor issues.
What’s fixed: Comprehensive refresh of AP functionality.
Custom Fields on AP Invoice Edit
Fixed custom fields not displaying or saving correctly when editing AP invoices.
What was wrong: Custom field changes on AP invoices weren’t being saved.
What’s fixed: Custom fields work correctly throughout the AP workflow.
AP Invoice Permissions Issue
Fixed permission checks that were preventing authorized users from accessing AP invoices.
What was wrong: Users with correct permissions were blocked from certain AP actions.
What’s fixed: Permissions properly allow authorized access.
19. Project Fixes
Project Invoice Approval
Fixed issues with the project invoice approval workflow.
What was wrong: Approvals weren’t processing correctly or were blocked unexpectedly.
What’s fixed: Smooth invoice approval workflow for projects.
Project Cards Fix
Fixed display issues with project summary cards on various pages.
What was wrong: Project cards showed incorrect values or didn’t load.
What’s fixed: Accurate, reliable project card displays.
Project Table Cost and Profit
Fixed calculations for cost and profit columns in project tables.
What was wrong: Cost and profit calculations were using wrong data or formulas.
What’s fixed: Accurate cost/profit calculations based on actual job data.
Project Unique to Organization
Ensured that project codes/numbers are unique within an organization rather than globally unique across the entire application.
What was wrong: Two different organizations couldn’t use the same project code.
What’s fixed: Project codes are organization-scoped, allowing reuse across orgs.
Status Added to Get Projects
Added status information to project queries so status can be displayed and filtered.
What was wrong: Project status wasn’t loading efficiently, requiring extra queries.
What’s fixed: Project status loads with project data efficiently.
Billing Pack on Project Invoice Approval
Fixed missing billing pack option on project invoice approval screens.
What was wrong: Billing pack feature wasn’t available during project invoice approval.
What’s fixed: Full billing pack functionality in project workflows.
20. Charges & Expenses Fixes
Duplicate from Table
Added ability to duplicate charges and expenses directly from table views without opening the record first.
What was wrong: Duplicating charges required opening the charge, finding duplicate action, then saving.
What’s fixed: Quick duplication from table context menus.
Date Format on All Charges Button
Fixed date formatting in the “all charges” export to use consistent, readable format.
What was wrong: Dates exported in inconsistent or hard-to-read formats.
What’s fixed: Consistent, sortable date formatting in exports.
Export All Job Charges Button
Fixed issues with the export button for job charges not working or producing incomplete exports.
What was wrong: The export button would fail or miss some charges.
What’s fixed: Reliable, complete charge exports.
All Charges with New Line
Fixed charges display to properly show line breaks and formatting in notes.
What was wrong: Charge descriptions with multiple lines would display as run-on text.
What’s fixed: Proper line break rendering in charge displays.
Tax Rate in Values
Added tax rate information to charge value displays and exports.
What was wrong: Tax rates weren’t visible in charge tables or exports.
What’s fixed: Complete tax information visible on charges.
Performance Indexes for Charges
Added database indexes to dramatically speed up charge-related queries.
What was wrong: Pages with many charges loaded slowly due to database query times.
What’s fixed: Fast charge loading through optimized queries.
Update Related Expense
Fixed issues when updating expenses related to charges.
What was wrong: Changing an expense wouldn’t properly update related charge references.
What’s fixed: Expense changes correctly sync to related data.
QB Charge Code Lineup
Fixed alignment between charge codes in Base and their QuickBooks equivalents.
What was wrong: Charge codes weren’t matching correctly when syncing to QuickBooks.
What’s fixed: Proper charge code mapping for accounting sync.
Reorder Custom Fields
Fixed custom field reordering on charges and expenses to properly save order changes.
What was wrong: Dragging custom fields to reorder them wouldn’t save the new order.
What’s fixed: Custom field order saves correctly and persists.
21. Companies Fixes
Types Column on Company Table
Added a company types column to the company table showing each company’s type categories.
What was wrong: Company types weren’t visible in table view, requiring users to open each record.
What’s fixed: Company types visible at a glance in the table.
Archive Company Fix
Fixed issues preventing company archival from working correctly.
What was wrong: Archiving a company would fail or not properly hide the company.
What’s fixed: Company archival works as expected.
Company Details Error Fix
Fixed errors occurring when viewing company detail pages.
What was wrong: Opening some company records would show error messages.
What’s fixed: All company details load correctly.
Company Form Zod Validation Error
Fixed form validation errors when creating or editing companies.
What was wrong: Company forms would show validation errors on valid data.
What’s fixed: Form validation correctly accepts valid input.
Company Copy Route
Added functionality to copy/duplicate company records.
What was wrong: Users couldn’t duplicate companies, requiring manual re-entry.
What’s fixed: Company duplication available.
22. Contracts Fixes
Contract File Table History
Fixed file history display in contract file tables.
What was wrong: File version history wasn’t loading or displaying correctly.
What’s fixed: Complete file history available in contract records.
Contract Export and Search
Fixed export and search functionality in the contracts module.
What was wrong: Contract searches weren’t returning correct results, exports were failing.
What’s fixed: Working search and export for contracts.
Contract Files Table
Fixed various issues with the contract files table display.
What was wrong: Files weren’t displaying correctly, actions weren’t working.
What’s fixed: Fully functional contract files interface.
23. Custom Fields Fixes
Custom Field References and Caching
Optimized how custom field definitions are loaded and cached for better performance.
What was wrong: Custom fields caused excessive database queries, slowing page loads.
What’s fixed: Efficient caching reduces query load.
Negative Numbers in Custom Fields
Fixed handling of negative number values in numeric custom fields.
What was wrong: Negative numbers would display incorrectly or break calculations.
What’s fixed: Proper negative number support.
Custom Field Required Issue
Fixed validation for required custom fields to properly enforce when values are needed.
What was wrong: Required fields could be submitted empty, or non-required fields blocked submission.
What’s fixed: Correct required field validation.
Custom Field Column Permissions on Form
Fixed permission checking for custom field columns on forms.
What was wrong: Custom fields would appear when they should be hidden based on permissions.
What’s fixed: Custom field visibility respects permissions.
Date Custom Field Filter
Fixed filtering by date-type custom fields.
What was wrong: Date filters wouldn’t return correct results or would fail.
What’s fixed: Working date-based custom field filtering.
Is Not Filter on Date Field
Fixed the “is not” comparison operator for date custom fields.
What was wrong: Filtering for dates that are NOT a specific value didn’t work.
What’s fixed: All date comparison operators work correctly.
NaN Issue on Large Numbers in Formula Fields
Fixed formula fields showing “NaN” when dealing with numbers over 1,000.
What was wrong: Thousand separators in numbers were breaking formula parsing.
What’s fixed: Formulas handle formatted numbers correctly.
Blank Fields Showing NaN
Fixed formula fields that reference empty fields showing “NaN” instead of blank or zero.
What was wrong: Empty field references broke formula calculations.
What’s fixed: Empty fields are handled gracefully in formulas.
Single Select and Multi Select Not Nullable
Fixed validation for single-select and multi-select custom fields to properly allow empty values.
What was wrong: Dropdown fields couldn’t be saved empty even when not required.
What’s fixed: Optional dropdown fields can be left empty.
Custom Fields from Other Orgs
Fixed a bug where custom fields from other organizations could appear in field lists.
What was wrong: Data isolation wasn’t complete, showing cross-org field definitions.
What’s fixed: Strict organization scoping for custom fields.
Custom Field Hidden Issue
Fixed custom fields appearing on job forms when they should be hidden based on table configuration.
What was wrong: Hidden custom fields were still showing up on forms.
What’s fixed: Hidden field configuration applies to forms correctly.
Job Details Section Custom Fields
Fixed hidden custom fields showing as empty in job details sections due to reordering.
What was wrong: Reordering custom fields caused hidden fields to show as blank entries.
What’s fixed: Hidden fields are truly hidden, not shown as blanks.
Formula Issue Cannot Find DB Model
Fixed formulas that reference data models that couldn’t be located in the database.
What was wrong: Certain formula references would fail due to database lookup issues.
What’s fixed: Robust formula reference resolution.
Updating Invoice/Quote/PO Breaking Formula CF
Fixed formula custom fields that would break when the parent document was updated.
What was wrong: Saving changes to documents would corrupt formula field values.
What’s fixed: Formulas remain intact through document edits.
24. Table Configuration Fixes
Table Height Sizing
Fixed table height calculations to properly size tables to the available screen space.
What was wrong: Tables would be too short or too tall, not using screen space efficiently.
What’s fixed: Tables size correctly to available space.
Hidden Columns Bug
Fixed hidden columns reappearing after page refresh or navigation.
What was wrong: Column hiding preferences weren’t persisting correctly.
What’s fixed: Hidden column settings persist reliably.
Optional Chaining in Serverside Table
Fixed crashes in server-side tables when encountering null or undefined values.
What was wrong: Missing data would crash table rendering.
What’s fixed: Graceful handling of missing data.
Custom Fields Grabbing Wrong Table Config
Fixed custom fields loading configuration from the wrong table definition.
What was wrong: Custom field settings for one table would affect another.
What’s fixed: Correct table configuration scoping.
Filter Issue for Custom Field Values
Fixed filtering by custom field values returning wrong results.
What was wrong: Custom field filters weren’t querying the database correctly.
What’s fixed: Accurate custom field filtering.
25. User Management & Permissions Fixes
Login/Logout Features
Added improvements to the login and logout experience.
What was wrong: Login/logout flows had usability issues.
What’s fixed: Smoother authentication experience.
User Access Template Fix
Fixed issues with user access template configuration and application.
What was wrong: Access templates weren’t applying correctly to users.
What’s fixed: Templates apply correctly to control user access.
User Template Permission Update
Fixed updating user templates to properly change permissions in the members table.
What was wrong: Changing template permissions wouldn’t affect existing users.
What’s fixed: Template changes cascade to members correctly.
User Template Issue General Fix
Addressed various issues with user template functionality.
What was wrong: Multiple minor template issues affected usability.
What’s fixed: Reliable template functionality.
Invitation Capitalization Fix
Fixed case sensitivity issues with email invitations.
What was wrong: Invitations could fail if email case didn’t match exactly.
What’s fixed: Case-insensitive email invitation matching.
Email Lowercasing in Get User
Standardized email handling to lowercase for consistent matching.
What was wrong: Email lookups could fail due to case differences.
What’s fixed: Consistent lowercase email handling.
Permissions for Button (Admin and Owner Only)
Added proper permission checks for admin-only buttons and actions.
What was wrong: Some admin actions were visible to non-admin users.
What’s fixed: Admin-only features properly restricted.
Users with Account Can Join Organization
Fixed the flow for existing users joining new organizations.
What was wrong: Users with existing accounts couldn’t join new orgs through invitations.
What’s fixed: Existing users can accept org invitations.
Column Permissions in App
Fixed column-level permission checking throughout the application.
What was wrong: Column permissions were inconsistently applied.
What’s fixed: Consistent column permission enforcement.
Request Table Added to Access Template
Added the requests table to access template configuration options.
What was wrong: Request table permissions couldn’t be configured via templates.
What’s fixed: Complete permission coverage including requests.
26. Organization Fixes
Delete Organization Feature
Added ability to delete organizations (admin only with proper safeguards).
What was wrong: Organizations couldn’t be deleted, only deactivated.
What’s fixed: Full organization deletion when needed.
Duplicate Organization Route
Added functionality to duplicate an organization with its settings.
What was wrong: Setting up new organizations required manual recreation of settings.
What’s fixed: Clone existing org settings to new organizations.
26. Integration Fixes
QuickBooks Fixes
- Fixed QBO import issues
- Fixed QB sync errors
- Fixed JS Connor transaction timeout issues (multiple fixes for timeout costs)
- Fixed charge code lineup with QB
What was wrong: Various QuickBooks sync issues caused data mismatches and sync failures.
What’s fixed: Reliable QuickBooks synchronization.
Xero Fixes
- Fixed currency handling when pushing invoices to Xero
- Fixed Xero callback authentication
What was wrong: Xero sync would fail on currency mismatches and authentication issues.
What’s fixed: Reliable Xero integration.
Stripe Fixes
- Fixed Stripe automation issues
- Fixed Stripe with zero products edge case
- General billing/stripe improvements
What was wrong: Stripe payment processing had edge case failures.
What’s fixed: Robust Stripe payment handling.
27. Document & Template Fixes
Document Generation API Update
Updated the document generation API for better reliability and features.
What was wrong: Document generation had limitations and occasional failures.
What’s fixed: Improved document generation reliability.
Body Not Bleeding to Template Postmark
Fixed email template rendering where body content wasn’t appearing correctly.
What was wrong: Email content would be missing or formatted incorrectly.
What’s fixed: Complete email content rendering.
Generate Purchase Order Fix
Fixed PO generation that was failing in certain scenarios.
What was wrong: PO generation would fail with validation errors.
What’s fixed: Reliable PO generation.
Edit PO Rates Error
Fixed errors when editing rates on existing purchase orders.
What was wrong: Changing rates on POs would fail or save incorrect values.
What’s fixed: Correct PO rate editing.
Custom Form Template Fix
Fixed issues with custom form template rendering.
What was wrong: Custom form templates wouldn’t render correctly.
What’s fixed: Proper custom form display.
Logo on Custom Form Fix
Fixed organization logos not appearing on custom public forms.
What was wrong: Custom forms showed no logo or wrong logo.
What’s fixed: Correct logo display on public forms.
28. Exchange Rate Fixes
Currency Fix When Invoice Pushed to Xero
Fixed currency handling during Xero invoice sync.
What was wrong: Currency conversions were incorrect when syncing to Xero.
What’s fixed: Accurate currency handling in Xero sync.
Exchange Rate on Templates
Fixed exchange rate display and application on document templates.
What was wrong: Templates weren’t using correct exchange rates.
What’s fixed: Correct exchange rate application to templates.
Bulk Add Exchange Rates Update
Improved bulk exchange rate entry functionality.
What was wrong: Bulk rate entry had usability and save issues.
What’s fixed: Smooth bulk exchange rate management.
29. Email & Notification Fixes
False for Mailers If Absent
Fixed handling when mailer configuration is missing.
What was wrong: Missing mailer config would crash instead of gracefully degrading.
What’s fixed: Graceful handling of missing email configuration.
Blank Mailer Catch
Added error handling for blank mailer configurations.
What was wrong: Empty mailer settings would cause errors.
What’s fixed: Proper error handling for missing mailer setup.
30. Payment Fixes
Minor Payments Bugs
Fixed various small issues in the payments module.
What was wrong: Multiple minor issues affected payment UX.
What’s fixed: Polished payment experience.
Payment Method from Webhook
Fixed payment method detection from incoming webhooks.
What was wrong: Webhook payments weren’t being categorized correctly.
What’s fixed: Correct payment method tracking from webhooks.
31. Credit Note Fixes
Credit Note Issue Fix
Fixed general issues with credit note creation and management.
What was wrong: Credit notes had various functionality issues.
What’s fixed: Working credit note functionality.
QB Credit Note Push Fix
Fixed syncing credit notes to QuickBooks.
What was wrong: Credit notes wouldn’t sync to QB correctly.
What’s fixed: Reliable credit note sync.
QB Invoice and Credit Note Customer Reference
Fixed customer reference linking on QB-synced invoices and credit notes.
What was wrong: Customer references were missing or incorrect in QB.
What’s fixed: Correct customer linking in QB sync.
32. Allocation Fixes
Extra Form Error in Allocation Removed
Removed a spurious error that would appear when saving allocations.
What was wrong: A form error would display even when the save was successful.
What’s fixed: Error only shows when there’s an actual problem.
33. Sharing & Collaboration Fixes
Share Link Modal Staying Open
Fixed the share link modal not closing after copying link.
What was wrong: Modal required manual close after action was complete.
What’s fixed: Modal closes automatically after sharing.
Custom Share Form Error
Fixed errors occurring on custom share forms when no shares had been sent.
What was wrong: Form would error before any shares existed.
What’s fixed: Graceful handling of empty share state.
34. Port & Vessel Fixes
Vessels/Fleets Not Being Org Blocked
Fixed data isolation so vessels and fleets are properly scoped to organizations.
What was wrong: Cross-organization data leakage was possible for vessel data.
What’s fixed: Strict organization isolation for vessels and fleets.
Fix Vessels/Ports Stuff (General)
Addressed various issues with the vessels and ports modules.
What was wrong: Multiple minor issues in maritime features.
What’s fixed: Polished vessel and port experience.
Map Vessels Fix
Fixed vessel display on map interfaces.
What was wrong: Vessels weren’t displaying correctly on maps.
What’s fixed: Correct vessel map display.
More Visible Map
Improved map visibility and contrast.
What was wrong: Map was hard to read in certain conditions.
What’s fixed: Clear, readable map interface.
Port Fixes
Various fixes to port data and display.
What was wrong: Port information had display and data issues.
What’s fixed: Accurate port data display.
Berth Table Depth Issue
Fixed an issue with berth table trying to render nested object data.
What was wrong: Complex berth data caused rendering errors.
What’s fixed: Proper berth data handling.
34. Form & Validation Fixes
Form Reorder Effect Fix
Fixed issues when reordering form fields that would cause incorrect behavior.
What was wrong: Reordering fields would break form behavior.
What’s fixed: Smooth field reordering.
Date Picker Fix
Fixed date picker component issues.
What was wrong: Date picker had selection and display issues.
What’s fixed: Working date picker.
Remove Breaking Log
Removed a logging statement that was causing application crashes.
What was wrong: Debug logging was left in production code.
What’s fixed: Clean production code without debug artifacts.
Custom Form Fixes
Multiple fixes to custom form rendering and submission.
What was wrong: Custom forms had various issues.
What’s fixed: Reliable custom form functionality.
Shareable Form Fix
Fixed issues with publicly shareable forms.
What was wrong: Public forms wouldn’t load or submit correctly.
What’s fixed: Working public form sharing.
35. Miscellaneous Fixes
Year to Date View Not Sticking
Fixed date range filter not persisting the “year to date” selection.
What was wrong: YTD selection would reset on page refresh.
What’s fixed: Date filter selections persist correctly.
Check for Null User
Added null checking for user references to prevent crashes.
What was wrong: Missing user data would crash pages.
What’s fixed: Graceful handling of missing user data.
Fix Editing from Table Cell
Fixed inline editing directly in table cells.
What was wrong: Inline edits wouldn’t save or would save wrong values.
What’s fixed: Working inline table cell editing.
URL Object Issue Fix
Fixed URL handling that was showing “[object]” instead of actual URLs.
What was wrong: URLs were being converted to objects incorrectly.
What’s fixed: Correct URL handling and display.
Avatar on Dropdown Tabs
Fixed user avatar display in dropdown navigation tabs.
What was wrong: Avatars weren’t loading or showing wrong images.
What’s fixed: Correct avatar display.
Fullscreen Button Move
Repositioned the fullscreen button for better usability.
What was wrong: Fullscreen button was in an awkward location.
What’s fixed: Better button placement.
Microservices Fixes
Various fixes for microservice integrations.
What was wrong: Microservice calls were failing or returning errors.
What’s fixed: Reliable microservice communication.
35. Performance Improvements
Faster page loads across jobs, inbox, dashboards, and exports, especially for teams working with large datasets.