A JS library for sending, receiving, and parsing cXML messages.

Usage no npm install needed!

<script type="module">
  import Mils from 'https://cdn.skypack.dev/6-mils';



Linux Build Status Windows Build Status Coverage Status

A Node.js library for creating, sending, and parsing cXML messages. Note that this library is not a complete implementation of all cXML features. It is currently designed to be used as a client (buyer to seller) instead of a server (seller to buyer).

This project adheres to the standard coding style (click below for more information):


Getting Started

This library contains classes for several different types of cXML messages. Some of them are intended for parsing, and some for creating/sending:


This class is used to create and send a request to initiate a new Punch Out session.


This class is used to parse incoming PunchOutOrderMessage cXML documents.


This class is used to create and send purchase orders.


Please refer to the contents of test/functional/ for examples of this library in use.

Technical Documentation

Please refer to the docs/ sub-folder. There are separate entries for each object in this library.


While dreaming up a name for this module, I thought "cx" could be vocalized as "six". "ml" could be considered the same as "mL" (milliliter), which in some locations is said as "mil". It could also mean that this library is only 0.006" thick. Either way, I think it sounds more catchy than "cxml".


Please refer to LICENSE.