+1-757-461-3022 x124


Primary tabs

My product item is not showing up on the xTupleCommerce website. What could be wrong?

If an item is not showing up on the xTupleCommerce website it is most likely not selected in the ERP database to show up on the website. You can check by going to the product item, selecting the attributes and making sure the checkbox is selected to be published on the web. 

Was this Helpful?
129 users have voted.

How do I export data from xTuple?

The quick answer is you can right click and use the Export As option to export data from any list in xTuple ERP. The more advanced option is to use the xTuple API.

To learn more, please see the article about using the API to export from xTuple ERP.

Was this Helpful?
108 users have voted.

Where can I find the PostgreSQL documentation?

 For more information, please see the PostgreSQL Documentation.

Was this Helpful?
104 users have voted.

How do I retrieve API keys from within Authorize.net?

    Neither the xTupleCommerce system nor the ERP stores plain text credit card information in the database. Both systems integrate with Authorize.net via the Authorize.net API. To retrieve API keys from Authorize.net, follow these steps:

    1. Go to Authorize.net 
    2. Log into your account as an admin
    3. Click ACCOUNT in the main menu
    4. In the Security Settings area click on API LOGIN ID and TRANSACTION KEY
    5. Enter the answer to your account’s Secret Question
    6. Click SUBMIT
    7. Capture the keys
    8. Deliver the keys to xTuple - follow the instructions for Sharing API Keys from the bottom of this article

    Note: Every time you create an API key the old key expires within 24 hours. Your keys may be used in various locations (website, ERP, etc). Please save the keys in a secure location (LastPass.com, 1Password, etc) so you don’t have to recreate keys in the future.

    Was this Helpful?
    86 users have voted.

    What tokens can I use to build my email profiles?

    As a general rule, any property on the source document (e.g., incident, customer, order, etc.) is available to be used as a token. For example, to get the email address of a contact on an incident, you would use the following token: {contact.primaryEmail}

    Was this Helpful?
    85 users have voted.

    How do I stop the PostgreSQL service on a Mac?

    When using the PostBooks® Installer to install xTuple ERP on a Mac, you may run into an issue if you have a previous instance of PostgreSQL running. If you get an error message during the installation that says:

    "There has been an error. There is not enough shared memory. PostgreSQL component requires a minimum shared memory segment of 32MB. Please increase "shmmax" kernel parameter (in /etc/sysctl.conf) or close any other PostgreSQL instances before restarting installation."

    You can use the Terminal application on Mac OS X to run commands to stop the database service. You'll give yourself Superuser privileges, then switch yourself to the postgres user, then stop the service.

    1. Make sure you've closed all connections to the postgres database, such as PGAdmin or xTuple.
    2. Go to Terminal (It's in Applications/Utilities)
    3. Type: sudo su -
    4. Enter the password you use to login to your Mac
    5. Type: cd /Applications/xTuple/postgresql/bin/ (assuming you installed xTuple in the default directory. If not, you'll need to change the path to where you installed it).
    6. Type: sudo -u postgres ./pg_ctl -D /Applications/xTuple/postgresql/data stop
    7. You can start up the database in the same way, using the start command: sudo -u postgres ./pg_ctl -D /Applications/xTuple/postgresql/data start
    Was this Helpful?
    83 users have voted.

    Where can I find the Qt documentation?

    For more information, please see the Qt Product Information.

    Was this Helpful?
    66 users have voted.

    Does Connect support SSL or TLS?

    Yes, beginning with xTuple Connect version 3.8, support is available for SSL and TLS encryption for email sent over SMTP.

    Was this Helpful?
    63 users have voted.

    What is the xTuple REST API?

    To answer that question, first we have to answer a few other questions.

    What is an Interface?

    An Interface is where two things interact. An object's interface is what it presents to the outside world or other objects as the way to interact with it. We incounter interfaces everywhere in the world. A door handle is an interface. You car's stearing wheel is an interface. Writing on a piece of paper with a pen is using an interface. A keyboard, mouse and screen are interfaces to computers.

    What is an API?

    An API by definition is an Application Programming Interface. Most of the computer applicaitons you work with every day present a User Interface where you can click, type and/or touch things to interact with the application. That interface is for users, people, to interact with the applicaiton. People are not the only things that need to use applications. Other applications may need to use a feature of a different application. Other computers or systems may need to use that feature. An example of this is sending an email. The email client on your phone or computer doesn't actually send emails to other people, it uses an email servers API to send emails.

    To make sending emails easy, email servers have defined a standard and implemented and API that conforms to that standard. That allows all kinds of other applications to be able to consistently send email no matter what or where the server is. The email server has an API that any client applications can use. Client applications can be programmed to use that API so they can send emails using that email server.

    What is REST?

    REST stands for REpresentational State Transfer, which doesn't really tell the average user anything about what REST is. To understand REST, the best analogy is your computer's browser. When you visit a website, you are acessing a web server's API. That API implements a standard called HTTP. REST leverages the HTTP standard to present an API for some application.

    So what is the xTuple REST API?

    xTuple has build a web server that presents a REST API that client applications can use to interact with the xTuple ERP system. This allows client applications to get data like Products, Customers, Contacts, Addresses, etc. Those client applications can be built to do all kinds of different things with this data. One example of that is the xTupleCommece system. It is a client of the xTuple REST API. xTupleCommerce uses the xTuple REST API to present an eCommerce website to consumers. See the xTuple REST API wiki to learn more about how to use it.

    Was this Helpful?
    60 users have voted.

    What does this error mean: "connection to specified xtuple erp server cannot be made"?

    We have spoken with various users who encountered this error and discovered something in common with both. Both had prior installs of other Open Source solutions on their computer, prior to installing PostBooks®. In both cases the the other product also installed an instance of PostgreSQL. It appears the two installations of Postgres are conflicting, and preventing the PostBooks® installer from finishing the install. If you are done for the moment evaluating the other Postgres-powered application, try uninstalling it, and then running the PostBooks® installer again

    Was this Helpful?
    57 users have voted.

    How do I install pgcrypto?

    If you are going to use credit card processing or if you're getting this message ERROR:  function decrypt(bytea, bytea, unknown) does not exist then you need to install pgcrypto. Pgcrypto is a library used for encrypting sensitive data. The pgcrypto software is a popular add-on package included with the PostgreSQL source code distribution. The pgcrypto module is used by our credit card encryption functionality.  Even if you are not processing credit cards, we still recommend that pgcrypto be installed. 

    First, we need to locate the pgcrypto.sql file.  One typical path to this is:


    If it isn't there you can always search for the file.  You may need to perform the search as root (be patient, this takes a while):

    find / | grep pgcrypto.sql

    Or if you're on Windows just use the Windows file search.

    Once you've located the file the next step is to install it.  The command to install pgcrypto onto your database is:

    psql -U mfgadmin NameOfDB < /wherever/the/file/is/pgcrypto.sql 

    Or if you prefer using pgAdmin, connect to the database you want to install pgcrypto and open/execute pgcrypto.sql through the SQL Editor.  It is also a good idea to install pgcrypto.sql on the template1 database.

    Was this Helpful?
    55 users have voted.

    Our xTupleCommerce website is down. What do we do?

    If you are hosting your website on your own web server, we suggest you try rebooting your server. If your website is being hosted on the xTuple cloud, please report an incident and we will reboot it for you.

    Was this Helpful?
    55 users have voted.

    How do I figure out what version of PostgreSQL I'm running?

    If you don't remember which version of PostgreSQL you're running, you can always find out with the following SQL statement:

    select version();

    This is easy to do if you're familiar with pgAdmin. Simply connect to your server with pgAdmin. Select one of your databases. Open the SQL editor tool. Paste in the above command. Then execute the query. Your PostgreSQL version will be displayed in the results window.

    Was this Helpful?
    54 users have voted.

    My product is not showing up in the right group on the xTupleCommerce website. Where do I fix this?

    The product catalog is managed in the xTuple ERP database. You’ll want to check the product catalog to make sure the product is in the right group.

    Navigate to the item in the xTuple ERP database. Then, under attributes, look at the table on the bottom of the window. The group name will identify which group(s) the item is associated with in the catalog. 

    If the item should be showing in a different group, navigate to the item groups via Products > Item > Groups. Then select the group you want to edit and make any needed change. 

    Was this Helpful?
    53 users have voted.

    How do I import data into xTuple?

    There are two methods for importing data into the database of xTuple ERP.

    • CSVimp
      First, xTuple offers a free application called CSVimp that is designed to migrate Comma Separated Value (CSV) files into the database for the xTuple Applications (The same tool works for PostBooks®, Standard and Manufacturing Editions). You can download CSVimp from our SourceForge project site. And detailed instructions for using CSVimp are available in our documents section.
    • xTuple API
      The second method is to use the API. The goal of the xTuple Application Programmer Interface (API) is to make migrating data directly into the database much safer and easier than it is going directly into the regular table structure. Our appoach is to allow users to create, access, and update xTuple documents using a special database schema that closely mirrors the graphical user interface (GUI). You can read more about using the API to import data into xTuple ERP in the docs section.
    Was this Helpful?
    52 users have voted.

    When will the next xTuple ERP release come out?

    See our Product Roadmap for a general idea of when xTuple ERP will be released next and what the major upcoming features will be.

    Our goal is to have two features releases a year (x.y.0), one in June and the other in December, plus a few bug-fix releases. This schedule is not exact. Feature releases will be published when their defining features are complete. Bug-fix releases will be published as needed. Between August 2007 and July 2016 we published a release on average every 8 weeks, not counting betas and release candidates. That included 21 feature and 38 bug-fix releases (on average a little more frequently than 6 months and 3 months, respectively).

    Was this Helpful?
    52 users have voted.

    What does "Error on socket 0" mean?

    That error typically indicates there is either an incorrect mail server configuration or a network problem of some kind. Check the mail server options in the xTuple Connect menu. Also check your mail server and network routing to make sure all is in order.

    Was this Helpful?
    51 users have voted.

    What IP address should I put in my pg_hba.conf file?

    That's called CIDR notation. Here's a handly calculator for figuring out an appropriate value: http://www.subnet-calculator.com/cidr.php.

    You need to know a little about the network you're setting the server up on and a bit about subnetting. A client may need to allow various networks to connect - they may have several subnets, etc - each network from where you want to allow connections from needs to have an entry in the pg_hba.conf, or at least a rule that fits. is a catch-all - any address will match with that rule.

    But, suppose you have a remote office, with a fixed IP on their router - all traffic from inside the office goes out with the same WAN IP of that router, say the WAN IP is - that's a single address from a single device. So, on your postgres server where they are connecting to you would create a pg_hba.conf entry similar to:

    host all all md5 /32
    is the same as ( 1 address) /24
    is the same as (254 addresses)

    Also, keep in mind that the pg_hba.conf file is read top to bottom. As soon as Postgres finds a rule that allows access, it stops reading rules - so make sure your access rules make sense. You can do all sorts of interesting things with the pg_hba.conf. Read the comments at the top of that file.

    Was this Helpful?
    51 users have voted.

    What type of security is used on xTupleCommerce and the ERP?

    Our systems, both xTupleCommerce and the xTuple REST API, require an SSL (Secure Sockets Layer) certificate to function. SSL is a standard security technology for creating and encrypted connection between a server and a client (for example, between a user's browser and the webserver). It allows sensitive information to be transferred in a secure fashion. Without an SSL the data would be sent between the server and client in plain text, which is not secure. In plain text an attacker could intercept the plain text data and have access to sensitive information.

    Neither the xTupleCommerce system or the ERP stores plain text credit card information in the database. Both systems integrate with Authorize.net via their API. The same SSL technology is used to encrypt and send information to and from Authorize.net and we rely on Authorize.net to store credit card information in a secure fashion.

    When storing a credit card on file we use Authorize.net tokens that represent the credit card information and customer data. On the ERP Postgres database we use the Blowfish Security algorithm for encrypting sensitive information. This ensures that the customer information is never passed or stored as plain text, but rather a encrypted string of letters and numbers that serve as a key to unlock that information. Without a direct connection to the Authorize.net system through the API integration, the keys are worthless which prevent attackers from obtaining the sensitive information.

    Additional Resources

    Authorize.net - how credit card processing works

    Authorize.net - storing customer data

    SSL information

    Authorize.net API Reference Guide

    Understanding PCI Compliance

    Postgres Blowfish Security Algorithm

    Was this Helpful?
    47 users have voted.

    What is OAuth?

    OAuth is a protocol (or framework) that supports authorization workflows. OAuth is not an API or a service: it is an open standard for authorization that any developer can implement. It gives you a way to ensure that a specific user has permissions to do something.

    This protocol allows third-party applications to grant limited access to an HTTP service, either on behalf of a resource owner or by allowing the third-party application to obtain access on its own behalf. Access is requested by a client, which can be a website or a mobile application, for example.

    xTuple uses OAuth2 (or OAuth 2.0), the second version of the OAuth protocol. OAuth2 simplifies the previous version and facilitates interoperability between different applications. OAuth1 adn OAuth2 specifications are completely different from one another, and cannot be used together: there is no backwards compatibility between them. 

    The OAuth2 protocol is constantly evolving and acclaimed by Internet giants such as Google and Facebook.

    More on OAuth 2.0 Standards available at Internet Engineering Task Force (IETF).

    Was this Helpful?
    37 users have voted.

    How do I edit MetaSQL without rebuilding the entire database?

    You can edit MetaSQL from inside the Desktop client, by navigating to System > Design > MetaSQL Statements.

    Was this Helpful?
    33 users have voted.

    How do I set up a development environment?

    The details for setting up the development environment for the xTuple Desktop client can be found on xTuple's GitHub wiki: Desktop Development Environment Setup.

    Was this Helpful?
    29 users have voted.

    What is XSLT?

    XSLT stands for Extensible Stylesheet Language Transformations, which is a part of the XSL family defined by the World Wide Web Consortium (W3C). To learn more, please see our article describing a simple XSLT example.

    Was this Helpful?
    28 users have voted.

    How do I build a database using a fork of the "xtuple" repository?

    Run npm install from the root of the repository, then run

    scripts/build_app.js -d  --databaesonly -e foundation-database -i -s foundation-database/demo_data.sql

    Make sure you have a database called postgres.

    Was this Helpful?
    27 users have voted.

    How long can my item numbers be?

    There is no limit to the length of item numbers.

    Was this Helpful?
    26 users have voted.