A powerful, customizable, easy to use Serial Codes management and delivery system for your Magento store.
OverviewBack to top
This extension allows you to easily manage and automatically deliver Serial Codes to your customers using any standard Magento product type. It provides a great deal of flexibility in how serial codes are issued and delivered to customers. It can be set up to assign and issue serial codes automatically to all orders, or to only issue and deliver serial codes when an item is actually invoiced and paid for, or based upon selected customer groups. Or, it can be used to automatically or manually issue and deliver serial codes to your customers once the order has been reviewed. This flexibility is provided for at the product and store view level, so that different criteria may be used for each product and store. Barcodes may also be generated and delivered along with professionally presented Instructions, Warranties, Rules, or whatever customized text is required.
What Are Serial Codes?
There are many business models that require the sale of products with unique codes or other information for each unit of the item sold. For example, a Serial Number may be necessary in order to establish and maintain a warranty. This requirement might also include such things as Product Codes, PINs, Activation Codes, Enrollment Keys, Game License Keys, Usernames, Passwords, Contest Codes, ID Numbers, and more. We have adopted the term "Serial Code" as shorthand for any piece of information that must be uniquely issued for each individual product sold. This term is used throughout our documentation, and is also used by our extension within the Magento Admin Panel. It contains two parts — the type of serial code (e.g., Serial Number) and the actual value of the serial code (e.g., 12345A67890).
In order for the extension to automatically assign and issue serial codes, a list (or pool) of codes to be issued may be entered and associated with a particular product or products. These pools of serial codes are stored in their own database table, which provides the ability for each product to have its own code pool, or for multiple products to issue from the same code pool.
Each serial code in a code pool has a status associated with it. There are three possible statuses: "Available" (ready to be assigned or issued), "Used" (already issued to a customer order), and "Pending" (assigned to an order, but not issued to the customer). The "Pending" status allows for codes to be assigned to deferred payment (e.g., Bank Transfers, Check or Money Orders, Purchase Orders, Cash On Delivery) orders, and other orders where payment has not yet been received, without actually delivering them to the customer. This helps in tracking and inventory control. When an order is canceled, "Pending" codes are removed from the order and returned to "Available" status to be used again since no customer has actually received them.
A serial code will be assigned or issued to the customer order for each item based on the quantity ordered. The assigned and issued codes are added to the existing Magento database table ("sales_flat_order_item") that keeps track of information for each item ordered. This means that assigned or issued serial codes data will always be available to any Magento module that requires this information. Instructions on how to access this data are provided in case there is a need to modify other aspects of Magento to include these codes.
The Serial Codes extension provides for full editing of available, issued, or assigned serial codes and existing orders to authorized administrators. This allows administrators to add, remove, change status, issue, or deliver serial codes to any order from the Admin Panel. Authorization may be limited to specific users and roles. This is especially useful when serial codes need to be issued or delivered manually, or for special orders or circumstances.
Also included is a product level setting which allows for inventory stock quantities and availability to be kept current automatically based on the number of remaining available serial codes. This feature allows for the use of the built-in Magento functions of disabling or backordering products that are low on inventory based on the remaining "Available" serial codes.
- Easily manage and automatically deliver serial codes for any standard Magento product type: Simple, Grouped, Virtual, Downloadable, Bundled, or Configurable.
- Deliver serial codes to customers as text or images automatically. Image codes may be freely mixed with text codes even for the same product (code pool), and are displayed as images in the Admin Panel.
- Automatically generate and deliver scannable barcodes to customers.
- Simple interface for installing or updating text and image codes in bulk, with full editing capability including mass updates.
- Mass import of text codes for multiple products (code pools) from a single CSV file.
- Add serial codes to existing products in the catalog. No need to re-enter products to use this extension.
- Issue serial codes by individual product and store view. Allows several products and store views to issue from the same serial code pool.
- Automatically issue serial codes to ordered items and/or deliver them to customers by email directly from the Admin Panel.
- Allows for inventory stock quantities to be continuously updated based on remaining available serial codes. Can automatically notify admins and/or vendors when remaining serial codes are getting low.
- Automatically assign serial codes as "pending" to orders where payment has not yet been received, without delivering them to the customer. This helps in tracking and inventory control. When an order is cancelled, pending codes are removed from the order and made available to be used again since no customer has actually received them.
- Track issued serial codes by product and customer order. Provides a filterable list of all ordered items with one click navigation to the order, product, customer, and serial code pool.
- Add, edit, or delete serial codes on existing orders.
- The ability to issue serial codes for Bundled products to the parent product, to any or all of its child products, or to both at the same time.
- Issue serial codes for Configurable products from either the parent product or from its child products. The serial codes will always be assigned to the parent product.
- Issue serial codes based on Simple Product Custom Options. Using Simple Product Custom Options in Magento disables tracking of inventory stock quantities.
- Show serial codes issued to registered customers on orders in the front end. This feature can be turned on or off for individual products and store views so that some products may show issued serial codes and others may not.
- Notify customers by email of issued serial codes. This feature can also be turned on or off for individual products and store views.
- Customizable serial codes email delivery templates that can be assigned to individual products and store views containing Instructions, Warranties, Terms, Rules, or whatever customizable text is required for that product. Allows for translation into multiple languages.
- Send notification emails individually by product purchased, group several products within a single email, or both. Or send each individual serial code in its own email (vouchers or tickets, for example).
- Notify customers on checkout success page when serial code delivery emails have been sent.
- Limit access to individual serial codes maintenance activities in the Admin Panel to specific users and roles.
- Magento translation tools enabled for translating this extension into other languages besides US English.
- Please visit http://www.modifymage.com/instructions/serial-codes for additional features and enhancements.
Many merchants might also have specific needs (for example, generating or retrieving codes from offsite, delivering codes through SMS, assigning codes directly to customer accounts, or recording issued codes offsite, or they may need to issue serial codes based on specific criteria such as location, warehouse, or fraud detection) that are not included by default within the extension. This means that the Serial Codes extension may require modification to support these requirements. The extension is designed to allow you to customize it without the need to directly modify the default code base.
This extension currently dispatches five events to assist developers in modifying the behavior of the extension using Magento's event observer functionality. This will allow future updates to the extension to be installed (that may contain additional functionality) with very little likelihood of creating any conflict with your own personal modifications. Additional events may be dispatched upon request; please let us know when or where in the process you would like them to be triggered.
If you have any questions about this extension or its applicability under specific circumstances, please email us at firstname.lastname@example.org and we'll answer your questions to the best of our ability. The screenshots in the image gallery above should help you envision the simplicity of how it works together. You can also take a look at the instructions page on our website to get a better understanding of this extension's effectiveness for your particular application.
As always, ModifyMage Solutions wishes you the greatest success in all your online sales endeavors!
Release NotesBack to top
- Compatible with CE: 1.3 1.4 1.5 1.6 1.7 1.8 1.9
- Stability: Stable Build
Version History (Changelog)
Version 1.5.4 (Current Version)
Replaced instances of die(); and exit(); to pass Magento review.
Provided support for the SUPEE-6788 security patch (included in CE 22.214.171.124 and EE 126.96.36.199) and future versions of Magento 1.
Added support for displaying serial code and barcode images securely using URL links. This fixes the issue of some email clients no longer supporting embedded images (such as Gmail.com, Hotmail.com, and Outlook.com). Images may still be embedded.
Multiple email addresses may now be separated using a semicolon (;) within product attributes. A space may also still be used.
Fixed a bug where inventory stock was not being updated when text or image serial codes were imported.
Mass import and use of image files as serial codes. Image codes may be freely mixed with text codes even for the same product (code pool). The most widely compatible internet image file types are supported (.jpeg, .jpg, .gif, and .png).
Mass import of text codes for multiple products (code pools) from a single CSV file.
Serial code barcodes may now be automatically generated and added to the serial codes delivery email.
Dispatched three additional events to assist developers in modifying the behavior of the module using observers. Additional events may be triggered upon request; please let us know.
Added the order number (linked to order view page) for assigned and issued serial codes to the "Manage Serial Codes" grid.
The Note column in the "Manage Serial Codes" grid now works as intended, and may be filtered to display only items which have notes by using an asterisk (*).
Changed the name of the "Serial Codes Type" column in the "Manage Serial Codes" grid to "User Data" to reflect its actual current use.
Added the extension version number to the bottom of the "Manage Serial Codes" and "Serial Code Order Items" grids.
Provided support for the SUPEE-6285 security patch and future versions of Magento 1 (including CE 1.9.2).
Applied several other minor changes to improve performance and usability.
Fixed a display bug concerning bundled products on the "Order View" page.
Link from "Serial Code Order Items" grid to the code pool now works properly in all cases.
Fixed a bug that could cause serial codes for configurable products to not be properly issued.
Fixed a bug that could cause a fatal error with multiple invoicing (such as subscriptions) when no serial code had been issued to the invoice. This bug could also manifest itself in a multitude of other unpleasant ways.
Delivery emails are now sent from the store sales email address rather than from the default sales email address.
Sending of mixed normal delivery emails and voucher emails from a single order now works properly.
Fixed several other minor issues.
Added the option to automatically issue and deliver Serial Codes based on customer group.
Added the ability to deliver multiple Serial Codes contained within a single line item individually rather than grouped together in one email. For example, an order for three "Super CD Key Vouchers" can be delivered individually using three emails instead of one.
Added the ability to filter the "Serial Code Order Items" grid based on order status.
Added the ability to filter the "Serial Code Order Items" grid to display only items which have Serial Codes assigned or issued by using an asterisk (*) to filter the "Serial Codes" column.
Added CSV and XML export to the "Manage Serial Codes" and "Serial Codes Order Items" grids.
Dispatched two events within the issueSerialCodes() method to assist developers in modifying the behavior of the module using observers rather than actually modifying the code base. Additional events may be triggered upon request; please let us know.
Corrected a problem where issued Serial Codes would not be automatically emailed to the customer if they were not returned to the store success page by PayPal upon completion of payment.
Fixed a bug that caused the issuing of credit memos to be improperly handled by the extension.
Fixed several minor problems associated with refactoring the code base.
Version 1.4.1 (Limited Release)
Added the ability to keep inventory stock quantities updated based on remaining available Serial Codes.
Added the ability to issue Serial Codes when the order is invoiced and paid. Supports partial invoicing of orders.
Serial Codes may now be issued based on Simple product Custom Options. Magento Simple product Custom Options do not allow for tracking of inventory stock quantities.
Implemented "Pending" status for Serial Codes allowing for better tracking and inventory control. Serial Codes can now be assigned to deferred payment orders but not issued to the customer until payment is received. Pending codes are automatically returned to "Available" status if the order is cancelled.
The "Issue Serial Codes" button on the admin order view page no longer automatically overwrites existing issued Serial Codes.
Added "Serial Code Pool" field to the "Serial Code Order Items" grid.
Added links to the Product and the Code Pool within the "Serial Code Order Items" grid.
Added time to the "Created" and "Updated" timestamp fields in the "Serial Code Order Items" and "Manage Serial Codes" grids.
Added links to online instructions on relevant pages.
Cleaned up the Serial Codes product attribute tab to diminish the "wall of text" effect.
Included many other small tweaks to provide better overall performance and usability.
Now properly displays Serial Codes on registered customer orders in the frontend when product name was changed after order placed.
Now properly issues Serial Codes from configurable children with "Issue Serial Codes" button on backend order view page.
Fixed several bugs to now properly sort and filter on all columns in the "Serial Code Order Items" and "Manage Serial Codes" grids.
This is a major update. A large portion of the code base has been refactored, allowing for easier custom modifications and future updates.
This is a security update. We were made aware of an exploit through Paypal that would allow Serial Codes to be issued without being paid for. This update closes that vulnerability.
Provided immediate access within each row of the Serial Code Order Items grid to the the actual order or customer data by clicking on the order number or customer name for that item.
Added support for additional deferred payment methods for specific payment modules—the Bank Transfer and Direct Debit methods from MultiSafepay (Netherlands), the Direct Debit and Purchase Order methods from SecurePay (Australia), and the eCheck method from PayPal (International).
Fixed a bug that caused the Downloads Available text not to appear for downloadable products within the Items Ordered table on the Order View page in the Admin Panel.
Added the ability to automatically issue and/or deliver Serial Codes directly from the Sales Order View page in the Admin panel.
Added the ability to email a warning when the number of available Serial Codes is getting low.
Included logic to withhold automatic issuing of Serial Codes for the additional deferred payment types of "Cash On Delivery" and "Bank Transfer."
Improved the display of line items in the "Serial Codes Issued" table on Order View page. This is most noticeable for Bundled products.
Changed Serial Codes product attribute email template dropdowns to include only the relevant templates.
Added instructive text to all Serial Codes product attributes.
Updated English translation CSV file with new string translations.
Fixed a potential issue with some Serial Codes product attributes possibly not loading properly if the product was not saved after installation of the extension.
Addressed an issue where some Serial Codes data was not being properly trimmed prior to use by the extension.
Incorporated the ability to view, add, edit, or delete issued Serial Codes directly from the Sales Order View page in the Admin panel.
Updated Access Control to also allow editing of Serial Codes on existing orders to be disabled while still allowing the issued Serial Codes to be viewed by the Admin user.
Added English language translation CSV file to allow for changes to the English text and to assist in translating to other languages.
Fixed a bug that caused the Serial Code Order Items grid not to populate under a certain specific set of conditions.