Release Notes: xTuple ERP 4.10 beta now available

Version 4.10 || April 2016

xTuple ERP 4.10.0 beta is now available for download from xTuple's GitHub repository or the xTuple PostBooks® project page on SourceForge. This release includes approximately 150 bug fixes. The commercial editions and packages can be downloaded by commercial customers from xTuple's Community Website. See more information about deploying this release in the detailed 4.10.0Beta Release Notes on GitHub and below.

Thanks to all who contributed to make these releases possible, including a number of feature sponsors.


A large number of features and bug fixes have been added to the application since the 4.9.3 release. Our focus has been in improving the desktop client with the following themes:

  • Lay the groundwork for an ERP dashboards extension
  • Implement Feature Mob 2 features
  • Update technology infrastructure
  • Improve desktop application performance

Of particular interest are the following features:

  • Improved support for VAT (value-added tax), particularly with regard to purchasing and tax reporting
  • Introduction of a simplified sales order entry window
  • Introduction of List Price Schedules
  • Increased availability of the Documents tab
  • Password reset policies

The technology upgrades include Qt 5 for updated Web and JavaScript features, bug fixes, and performance improvements; PostgreSQL 9.3 for internal features; and ossp-uuid for standardized UUID assignment and performance. We have increased scripting access to a number of Qt 5 classes as well, including networking and web technologies, JavaScript, and serial port control.

Note: You will need PostgreSQL 9.3 or 9.4 to use this release, with the following two PostgreSQL extensions:

These need to be installed on the database server, not client machines.


  • Implemented issue #3569 Routing — Unable to Modify Instructions
  • Implemented issue #7175 Allow Packing List Batch to filter out Holds and Future Scheduled Orders
  • Implemented issue #9246 Correctly escape all SQL statements that have escaped characters in them
  • Implemented issue #10577 Ability to set a form assignment keyed on Transfer Orders
  • Implemented issue #11207 Port 1099 package into core (FM2)
  • Implemented issue #11908 Vendor Purchase Order Notes do not flow to PO
  • Implemented issue #12607 Ability to Reschedule PO (not line items)
  • Implemented issue #14182 *Include standard changes in inventory history
  • Implemented issue #15171 *Credit Holds in Sales Orders
  • Implemented issue #17259 Move cashrcptbycustgrp to core
  • Implemented issue #22824 Update of pricing schedules
  • Implemented issue #23027 Global UOM conversion
  • Implemented issue #23152 Privilege to restrict users from editing shared filters
  • Implemented issue #23207 *Add filter to GL transaction for amount
  • Implemented issue #24077 Remove trailing whitespace with gitattributes
  • Implemented issue #24158 *PO Return needs RMA/RGA code field
  • Implemented issue #25127 Sales Types on opensalesorder-detail Screen also Backlog and bookings as well
  • Implemented issue #25631 Payments feature request
  • Implemented issue #25718 Add Employee Group filter to Employees List and Search
  • Implemented issue #25810 Change to the xwd.convertcatalog and xwd.updatecatalog function
  • Implemented issue #2583 Add ABC Class reporting
  • Implemented issue #25907 Need user interface for "Generate mobile workflow from desktop orders"
  • Implemented issue #25927 *Automate Closing RA Open Lines after credit is posted
  • Implemented issue #26023 Add "Enable Database Workflow trigger" metric to qt-client
  • Implemented issue #26038 Expand CustomerSelector widget API to limit which options are presented
  • Implemented issue #26216 catcost screens for catcost table
  • Implemented issue #26223 Add Ship Zone and Sale Type to Item Pricing
  • Implemented issue #26224 Add Reserved Qty to Item Availability and Running Availability screens
  • Implemented issue #26246 Add Pack Date to Packing List Batch
  • Implemented issue #26282 By pass Credit Hold if payment is taken for Cash Accounts
  • Implemented issue #26366 Add "Print on Post" to Simple G/L Journal
  • Implemented issue #26370 Issue All to Shipping stops at line with insufficient inventory
  • Implemented issue #26375 *AR, AP Aging Reports in 4.9.x
  • Implemented issue #26387 *Availability date in SOItem
  • Implemented issue #26408 *Access Vendor A/P history from Payables work bench
  • Implemented issue #26424 Revert Return document back to Credit Memo and add Misc Items
  • Implemented issue #26498 Add avgcost() as a column on itemsite record on the item
  • Implemented issue #26679 *Add SO# to
  • Implemented issue #26693 VAT Taxation enhancements (FM2, replaces #20135)
  • Implemented issue #26699 *Add Created By to filters
  • Implemented issue #26767 *List Minus Discount Pricing
  • Implemented issue #26832 *Have an option to one characteristic per module
  • Implemented issue #26833 Create a simple sales order entry window as an alternative to the full-blown version
  • Implemented issue #26840 *Slow Moving Inventory report does not give the option to display Posted Costs
  • Implemented issue #26866 Add Documents Tab to Vendor master
  • Implemented issue #26867 Add PO Item Non-Inventory items to PO List description
  • Implemented issue #26950 Quantities on Hand by Zone screen
  • Implemented issue #26951 Add Vendor Characteristics API View
  • Implemented issue #26960 Tweak lostSerial with set function to accept item_id and ls_id
  • Implemented issue #26973 Convert AP Credit Memo sql to metaSQL
  • Implemented issue #26995 Reverse Behavior on Miscellaneous AP Credit Memo (replaces 18174) (FM2)
  • Implemented issue #26997 Purchasing PO search by customer Purchase Order (replaces 20143) (FM2)
  • Implemented issue #26998 Make parent-child relationship in CRM meaningful (replaces 17846, FM2)
  • Implemented issue #26999 Deposit when applying Credit Card payment on Sales Order (SO) (replaces 20141, FM2)
  • Implemented issue #27000 Add "Column" to "Copy to Clipboard" right-click on table view (replaces 17543, FM2)
  • Implemented issue #27056 *Enforce Password Reset Policy
  • Implemented issue #27109 PAIN — calcsalesorderamt
  • Implemented issue #27110 PAIN — redundant use of getSoStatus
  • Implemented issue #27362 Add item type filter to item cost by classcode
  • Implemented issue #27407 Move Webapp metrics to a Desktop setup screen
  • Implemented issue #27418 Update Reorder Levels MetaSQL returns transit sites for update

Bug Fixes

  • Fixed issue #10570 Sales Order Line Item UOM does not Update to match the Pricing Schedule UOM
  • Fixed issue #17067 Print Shipping Forms window prints forms for sales orders but not for transfer orders
  • Fixed issue #17699 *It is not possible to create a Transfer Order from 'Inventory History' screen
  • Fixed issue #18310 *Irrelevant dialog is displayed on selecting to 'Save' a sales order line item opened in edit mode
  • Fixed issue #21265 *Bank Rec Window sorts date and amount as text
  • Fixed issue #22413 Desktop client downloader leaves files behind if download fails
  • Fixed issue #23006 *possible to post same serial # to 2 sites
  • Fixed issue #23464 *Item Alias problems
  • Fixed issue #23725 *Update actual cost and expired components
  • Fixed issue #23893 *Selecting to print the 'Lost Sales' screen displays 'Report Not Found' dialog
  • Fixed issue #25038 *Items approved for billing are doubling in the Approve Order for Billing Window
  • Fixed issue #25402 *roundlocale +1 error
  • Fixed issue #25565 AP Voucher does not allow tax calculation of freight
  • Fixed issue #25587 *Partially Drop-Shipped Order
  • Fixed issue #25667 Smooth Margin
  • Fixed issue #25677 *Tax History Screen
  • Fixed issue #25686 Error message about pDistDate displayed irrelevantly when attempting to post a standard journal to a non-existent period
  • Fixed issue #25709 *Selecting to save a blank 'Purchase Type' displays irrelevant text in the dialog box
  • Fixed issue #25720 *User is allowed to change the Scheduled date of a Quote in 'View' mode
  • Fixed issue #25733 *Quick Relocate Function Fails to Show Error on Relocate Failure
  • Fixed issue #25848 *Item Alias API
  • Fixed issue #25871 *City and Postal Code do not appear on reports if no State selected
  • Fixed issue #25878 *Characteristic Input Mask and Validator not working for Lot/Serial input
  • Fixed issue #25896 *Unable to add a characteristics to an 'Incident' on creation
  • Fixed issue #25978 *'Username' label is not available in 'General Ledger Transactions' print report
  • Fixed issue #25979 *'Deleted' label is not available in 'General Ledger Transaction' print report from 2nd page
  • Fixed issue #25985 When adding a new Work Order from a new Project, project # is not populated
  • Fixed issue #25993 *DB log error is displayed irrelevantly on selecting to view Total Tax
  • Fixed issue #26005 *Irrelevant behaviour is observed in 'Opportunities' screen
  • Fixed issue #26030 *User is allowed to edit 'Ship To' details in view mode of customer screen
  • Fixed issue #26034 *Delete SO when At Shipping
  • Fixed issue #26070 *Incident status does not display in project activity window
  • Fixed issue #26078 *Item Source visibility inconsistent
  • Fixed issue #26085 Tweak postreceipts() to always concatenate order line for gl postings (fx attached)
  • Fixed issue #26090 *Lower Qty ordered when atShipping already
  • Fixed issue #26124 *Bank Adjustment should ensure date is part of valid fiscal period
  • Fixed issue #26197 *Purchase Order Ship-To Name Field is NOT Changeable
  • Fixed issue #26213 Updating item with catalog
  • Fixed issue #26226 *'Delete Unused' button is not working properly in 'Purchase Types' screen
  • Fixed issue #26231 *Negative Quote total bars line item selection
  • Fixed issue #26284 *'Approve' button is in disable mode in 'Approve Payments' screen
  • Fixed issue #26296 *Typo error on 'Time Phased Available Capacity by Work Center' screen
  • Fixed issue #26297 *Unable to print 'MRP Detail' screen
  • Fixed issue #26318 *Unrelease Open Purchase Order allowed on Right Click Contextual menu
  • Fixed issue #26322 *Pick list report for Transfer Order is not available in Reports List
  • Fixed issue #26330 *'?' Is displayed instead of 'Q' as the Parent Type of a work order created on selecting to convert a quote to Invoice
  • Fixed issue #26346 *List Site Location Window not working in 4.9.0
  • Fixed issue #26347 *'Manual Freight?' dialog box is being displayed on selecting to edit 'Quote' created for Foreign Customer
  • Fixed issue #26361 *Db log error is generated on selecting to duplicate 'Opportunity Sources'
  • Fixed issue #26362 *Irrelevant behaviour is observed on quering the 'Order Activity by Project' screen
  • Fixed issue #26377 *'Cancel Item' button is in active mode on a stock issued 'Sales Order Item' screen created for 'Kit' type item
  • Fixed issue #26389 New Line characters appearing in Payment (Check) notes field
  • Fixed issue #26392 *'Customer #' field detials are not saved properly in a quote screen
  • Fixed issue #26414 *Error in ship to number logic
  • Fixed issue #26433 Transaction Date on Issue Stock to Shipping does not carry forward to Ship Order screen's Date Shipped field
  • Fixed issue #26477 fixacl() raises warning about the pkghead table
  • Fixed issue #26484 *User is allowed to convert an unsaved to Quote to a sales order
  • Fixed issue #26490 *No space is observed for 'changeswill' text in 'Customer Saved' dialog
  • Fixed issue #26622 *User is able to save a record with spaces in 'Employee' screen
  • Fixed issue #26631 License user count is showing different values in different fields (replaces #26551)
  • Fixed issue #26652 *No space is observed in between 'SelectOptions' dialog box in 'Work Order Costing' screen
  • Fixed issue #26653 * Db log error is displayed irrelevantly instead of 'user friendly message' in 'Project Types' screen
  • Fixed issue #26654 *User is not able to select 'Project Types' in Project screen
  • Fixed issue #26675 Random contact on PO shipto
  • Fixed issue #26692 *User is able to create duplicate Pricing Schedule Assignments
  • Fixed issue #26716 *SO $$$ balance is showing payment due even thought the SO is paid in full
  • Fixed issue #26734 *Ship To ID Not Populated
  • Fixed issue #26736 *No space is observed in between 'Classcode' in the label name of 'W/O Buffer Status by Class Code' screen
  • Fixed issue #26741 Item Site ABC class errors
  • Fixed issue #26742 *Checkbox is not enabled by default in 'Accounting' tab in Vendor screen
  • Fixed issue #26759 *'Discountable' option is not being disabled for tax code in 'Miscellaneous Voucher Distribution' window
  • Fixed issue #26777 *'Cash Receipt' screen loses its focus from 'Customer #:' field
  • Fixed issue #26778 *'Quotes' screen is not being updated automatically
  • Fixed issue #26794 *MRP creates planned orders that are fractional vendor UOM
  • Fixed issue #26796 *'Setup' menu item is being displayed as 'xSetup' in Macintosh Environment
  • Fixed issue #26804 *Pack date
  • Fixed issue #26815 *'New' button is in enable mode in 'Maintain Item Costs' screen irrelevantly
  • Fixed issue #26818 *Irrelevant behavior is observed in 'Role' screen
  • Fixed issue #26822 *Error posting AP misc voucher
  • Fixed issue #26823 *exceeding allowed concurrent license user
  • Fixed issue #26824 *System does not check drop ship box for drop ship items if the Create Purchase Order box is cleared for a previous line item
  • Fixed issue #26829 *'Vendor: Vendor #:' is displayed instead of 'Vendor#:' in 'Item Sources' dialog
  • Fixed issue #26834 *The quantity info in the orders tab, sales order section of the item avail WB is innacurate
  • Fixed issue #26836 *Db log error is generated on selecting to duplicate 'Project Types'
  • Fixed issue #26837 *Irrelevant behavior is observed in 'Customer Prices' tab under 'Item Availability Workbench' screen
  • Fixed issue #26838 *Irrelevant dialog box is displayed in 'Item Availability Workbench' screen
  • Fixed issue #26841 *Blank line on the layout shipment by shipment
  • Fixed issue #26846 *Line item entered after canceling item not saved
  • Fixed issue #26847 *System allows changing sales order quantity for a job cost item without changing work order quantity, after it has been shipped
  • Fixed issue #26848 RR Transaction type missing from Usage Statistics report
  • Fixed issue #26850 *No space is observed for 'thedatabase' text in 'Database disconnected' dialog box
  • Fixed issue #26882 *whereUsed details SQL Metaquery is incorrect
  • Fixed issue #26888 *Error copying item with multiple location control set
  • Fixed issue #26890 *xTuple is incorrectly setting Pick List status on Work Order Material Requirement dialog
  • Fixed issue #26903 *Work Order # column on Work Order Schedule screen sorts in alphabetical order instead of numerical order
  • Fixed issue #26904 *DB log error is displayed irrelevantly in 'Item' screen
  • Fixed issue #26922 Changing an item to use job costing with open orders for that item can lead to unpredictable results
  • Fixed issue #26926 * 'Prospects' screen is not being updated automatically
  • Fixed issue #26933 *Irrelevant behavior is observed in 'Purchase Types' screen.
  • Fixed issue #26935 *'Issue Additional Stock to Order Line' doesn't populate with the order number in Maintain Shipping Contents screen
  • Fixed issue #26936 *new Cash Receipt does not handle Applications list properly when 'Customer #:' is removed
  • Fixed issue #26942 *Blank names are being displayed instead of 'Default' in Customer Form Assignment
  • Fixed issue #26944 *Irrelevant dialog box name is displayed in 'Material Usage Variance by Work Order'
  • Fixed issue #26945 *'Work Order' default filter is not being displayed on selecting to open 'Labor Variance By Work Order' screen
  • Fixed issue #26947 *Irrelevant behavior is observed in 'Print Invoice' screen
  • Fixed issue #26956 *Irrelevant dialog box name is displayed in 'Work Order History by W/O Number'
  • Fixed issue #26957 *Irrelevant behavior is observed on 'Work Order Operations By Work Order' screen
  • Fixed issue #26958 *On Selecting to query the screen irrelevant dialog box name is displayed in 'Single Level Bill of Materials' screen
  • Fixed issue #26959 Purchased Job Costed items
  • Fixed issue #26969 *Negative As Off QOH for average items
  • Fixed issue #26975 *No spacing is observed in the error message of 'Cannot Save Sales Order' dialog
  • Fixed issue #26977 *Item Attributes tab resizing not working
  • Fixed issue #26981 *Transfer Order 'Line#' is not being updated properly in 'Transfer Order Item' screen
  • Fixed issue #27007 Confusing label on credit card account setup
  • Fixed issue #27014 Cannot view open RA items by status
  • Fixed issue #27015 *BOM Items with Issue Child W/O to Parent W/O at Receipt flag are not issued to parent.
  • Fixed issue #27040 *UOM conversion for subassembly order fails upon changing parent WO qty
  • Fixed issue #27047 xwd hides SO More button for all unprivileged users
  • Fixed issue #27055 "The QT Scroll Bug"
  • Fixed issue #27057 *Service Orders
  • Fixed issue #27068 *Unable to issue subassembly using UoM Conversion
  • Fixed issue #27098 *User is able to save a record with spaces in 'Company Number' screen
  • Fixed issue #27116 Closed projects showing up in lookup list
  • Fixed issue #27144 *'Bills of materials' screen is not being updated properly
  • Fixed issue #27158 Item Usage Statistics report missing some inventory transactions
  • Fixed issue #27159 *No Item Groups are present in 'List Item Groups' screen irrelevantly
  • Fixed issue #27167 *Supply orders planned at end of first MRP period
  • Fixed issue #27178 *Irrelevant behavior is observed in Lot/Serial Sequences screen
  • Fixed issue #27284 *Recall Orders to Shipping - Screen Hangs
  • Fixed issue #27310 *Wrong order of steps for Post Production dialog
  • Fixed issue #27314 itemcluster
  • Fixed issue #27339 *Purchase Order Characteristics Not Saved
  • Fixed issue #27348 Project Types menu item is in the wrong place
  • Fixed issue #27353 *Purchase requests released in bulk ignore order minimum
  • Fixed issue #27359 *Irrelevant behavior is observed in Vendor Catalog Conversion Configuration screen
  • Fixed issue #27360 Project Type combobox does not populate for new Projects
  • Fixed issue #27367 Project field called Notes - but called Description in Project List
  • Fixed issue #27377 *WO auto issue date error
  • Fixed issue #27383 *Multi-currency checks will not post
  • Fixed issue #27405 *Deleting a Customer Group has no confirmation dialog box
  • Fixed issue #27417 *User is not able to receive the line items from 'Enter Order Receipts' screen
  • Fixed issue #27422 *Unable to convert external vendor catalog item irrelevantly
  • Fixed issue #27430 *Inventory availability report hides non-usable information
  • Fixed issue #27445 User defined cost on Average costed items not calculating correctly
  • Fixed issue #27466 'No work week calendar found' dialog is being displayed twice in 'Quote' screen irrelevantly
  • Fixed issue #27467 *'Non-Working Day Entered' dialog is displayed irrelevantly on selecting to view a Work order
  • Fixed issue #27473 P/R Release does not copy Project to P/O Item
  • Fixed issue #27478 Inconsistent Status text in Project API View
  • Fixed issue #27485 *ItemSource column hiding error
  • Fixed issue #27496 *Item Type filter on the Item List screen works incorrectly
  • Fixed issue #27512 *Completed projects available to new sales orders, quotes, and purchase orders
  • Fixed issue #27517 Serial Column integritry screen should ignore foreign tables
  • Fixed issue #27524 Location Controlled inventory requires "W/O Issue" location default when shipping.
  • Fixed issue #27559 *Typo error is observed on 'Location' screen
  • Fixed issue #27571 *Typing in Issue Stock dialog's Qty to Issue field does not work as expected for non-fractional items
  • Fixed issue #27573 *When the "Sales Order Status" screen is first open the cursor is not in the order # field
  • Fixed issue #27574 *When the "Post Production" screen is first open the cursor is not in the Qty. to Post field
  • Fixed issue #27619 *Ubuntu: 'Notice' dialog box is opened behind the xtuple application irrelevantly
  • Fixed issue #27633 Validators missing on characteristic
  • Fixed issue #27635 *WOs created from SOs do not operate as expected.
  • Fixed issue #27643 * transaction ID issue
  • Fixed issue #27646 Smooth Margin does not appear to test the Long30Markup metric
  • Fixed issue #27659 *Time-Phase Planned Rev/Exp by Planner Code Error
  • Fixed issue #27662 *Irrelevant behavior is observed on Approve payments screen
  • Fixed issue #27681 *Check Numbers Wrong
  • Fixed issue #27694 Issue to Shipping - Require Sufficient Inventory disabled and NOT checked
  • Fixed issue #27700 User defined costs doubled when posting production
  • Fixed issue #27728 Project Type is not populating when Project window opened

Deployment Notes

We've lately revised the naming conventions and the behavior of our core updater packages. Our overall goal is to simplify the process of installing and upgrading xTuple ERP databases.

Just as was true for the 4.4.1 release, you will only need to apply one updater package to upgrade to the latest release--that is, assuming you are already running on at least 4.4.0. The new updater packages are designed to bring you all the way up to their version, no matter what version (>= 4.4.0!) that you're on.

Beginning with 4.5.0, we even went a step further: not only will a single package take you through every version of the app, it will also install all the constituent parts of your edition. Before now, if you wanted to do an upgrade to the Manufacturing or Enterprise Editions, you would have needed to perform the standard/dist upgrade and then the manufacturing upgrade. Not any more. With the new process, only one upgrade package is needed for the entire upgrade. No more upgrading the core and then upgrading the related packages. Everything is upgraded all at once.

NOTE FOR DISTRIBUTION EDITION CUSTOMERS: The xwd package no longer exists as a separate entity. All the functionality that was contained in the xwd package is now included in the single "distribution" upgrade or install package.

To be verbose about all of this:

postbooks-upgrade-491.gz will:
upgrade a PostBooks database from anywhere >= 4.4.0 to 4.9.1

distribution-upgrade-491.gz will:
upgrade the standard/dist (i.e., inventory code) to 4.9.1
upgrade the distribution (i.e., xwd code) to 4.9.1

distribution-install-491.gz will:
do a one-time install of tables, etc. for standard (i.e., inventory code) at 4.9.1
do a one-time install of tables, etc. for distribution at 4.9.1

manufacturing-upgrade-491.gz will:
upgrade the standard/dist (i.e., inventory code) to 4.9.1
upgrade the manufacturing code to 4.9.1

manufacturing-install-491.gz will:
do a one-time install of tables, etc. for standard (i.e., inventory code) at 4.9.1
do a one-time install of tables, etc. for manufacturing at 4.9.1

enterprise-upgrade-491.gz will:
upgrade the standard/dist (i.e., inventory code) to 4.9.1
upgrade the distribution (i.e., xwd code) to 4.9.1
upgrade the manufacturing code to 4.9.1

enterprise-install-491.gz will:
do a one-time install of tables, etc. for standard (i.e., inventory code) at 4.9.1
do a one-time install of tables, etc. for distribution at 4.9.1
do a one-time install of tables, etc. for manufacturing at 4.9.1

PLEASE NOTE: Other packages, such as Advanced Commissions and Fixed Assets, are currently remaining on their own release schedule and should be installed as before.

Gil Moskowitz

Director Software Development

Gil joined xTuple in 2005 to develop the first version of multi-currency support in our products. He helped xTuple transition from its original closed source OpenMFG product to the commercial open source company we are today. Before coming to xTuple, Gil worked for several large and small software companies in a variety of roles, including Informix Software, where he managed the database backup/restore utility group. He always advocates for, and delivers, high-quality products through improvements to the software development process. Ask about his other jobs next time you see him — ! He has a B.A. in Biology from Reed College and an M.S. in Computer Science from Old Dominion University.