Last Updated 20240524
Notes: https://cwiki.apache.org/confluence/display/OFBENDUSER/Product+Features
Create New Product
Product ID:
Can not be modified once created. Has to be unique. Probably a good idea to use product part numbers.
Product Type:
(Fixed) Asset Usage: Could be associated with Asset Rental
Asset Rental:
Configurable Good: Customer selects the sub items to make up the product.
Configurable Good Configuration:
Configurable Service Configuration:
Configurable Service using inventory:
Digital Good: Do not require tracking of inventory. No shipping charges are charged.
Finished Good: A simple basic product on it's own such as a box of paperclips. A Virtual product such as a Tee Shirt with no feature options and no inventory requirement. A Variant product of the Tee Shirt which has features such as color and size and inventory availability needs to be maintained.
Finished/Digital Good:
Good: This looks to be a rollup parentTypeId associated with RAW_MATERIAL, SUBASSEMBLY, FINISHED_GOOD, DIGITAL_GOOD, FINDIG_GOOD, AGGREGATED, MARKETING_PKG, WIP
Marketing Package: Pre-configured product bundle business puts together I believe. I also believe that it only shows 1 line on the invoice for the product but not the sub-products. Note: Open issue with returns: https://issues.apache.org/jira/browse/OFBIZ-12394
Marketing Package Auto Manufactured: Based on a production run: Automatically assembled each time it's ordered.
Marketing Package Pick Assembly: For those who want "assembly" by picking multiple items instead of one (ie: a set of products grouped for marketing purposes. A charm bracelet with 5 different charms) Note: Check and see if this is business pre-configured or customer selection. I read for customer selection you should use Configurable Good.
Product From Scrum:
Raw Material:
Service: An inventory item is used but no inventory needs to be maintained.
Service a product using inventory: Inventory has to be maintained
Subassembly:
Work In Process:
Internal Name:
Short description used internally within the OFBiz backend.
Product Name:
Short description used for public facing views. This name also shows when you are entering an order via the backend in Order Entry.
Brand Name:
Typically the holding company or principal company brand. Allrecipes is a brand. Rubbermaid is a brand.
Comments:
Internal comments, not for public viewing.
Virtual Product:
Is VIRTUAL Product? The public will see a tee shirt that is selling on your website but it's not real, you don't maintain inventory for it. You maintain inventory and sell the small, medium, large tee in blue, black, and orange color. The public will see a virtual item on your website. They will then select features such as size, color, pocket or no pocket. The variant product is what they will actually purchase.
Is VARIANT Product? A tee shirt size small, medium, and large with colors grey, black, blue, navy etc... All of these you will keep detailed inventory for. This is also known as a matrix based inventory.
Virtual Variant Method: Feature Tree Generation does not create actual items to track inventory where as Variant Tree Generation does. I read somewhere the FEATURE options are unlimited whereas variant options are limited to 200.
Primary Category:
Primary Category=A product can be associated with several categories. One of those can be made a primary. Not sure why there should be a primary. Note: Click on "Categories" Tab first and add categories that product is associated with. The dropdown Primary Category will then be populated.
Dates:
Introduction Date=Self Explanatory
Release Date=Self Explanatory
Sales Discontinuation Through Date=Need to figure out.
Support Through Date=Self Explanatory
Inventory:
Parent Type View - The indented items have a Parent Type. Initial review on AGGREGATED it appears OFBiz goes out and adds up the price on all the sub-items in one process. So I am assuming that the different Parent Types cause branching in the source code to run or not to run.
ASSET_USAGE - Fixed Asset Usage
ASSET_USAGE_OUT_IN - Fixed Asset Usage For Rental of an asset which is shipped from and returned to inventory
GOOD - Good
RAW_MATERIAL - Raw Material
SUBASSEMBLY - Subassembly
FINISHED_GOOD - Finished Good
DIGITAL_GOOD - Digital Good
FINDIG_GOOD - Finished/Digital Good
AGGREGATED - Configurable Good - Note: Source Code - Returns the Id of an AGGREGATED_CONF product having exact configId. * If AGGREGATED_CONF product do not exist, creates one, associates it to the AGGREGATED product, and copy its production run template.
AGGREGATED_CONF - Configurable Good Configuration
AGGREGATEDSERV_CONF - Configurable Service Configuration
MARKETING_PKG - Marketing Package
MARKETING_PKG_AUTO - Marketing Package: Auto Manufactured
MARKETING_PKG_PICK - Marketing Package: Pick Assembly
WIP - Work In Process
SERVICE - Service
SERVICE_PRODUCT - Service a product using inventory
AGGREGATED_SERVICE - Configurable Service using inventory
Select Catalog
Select Products
Click on New Product
Type Product ID: 40-06-0021
Select Product Type: Finished Good
Type Internal Name: Ladder Guide
Type Brand Name: Ruffian Specialties
Is Virtual Product = N
Note we will cover Virtual/Variant products shortly.
Misc Returnable = Y, Promotions = Y, Taxable = Y, AutoCreateKeywords = Y
Click
Create Product
Select Categories
Click on the IndexCard
Type Other
Click Find
Select RS_FGDS_NAV_OTHER
Product Category ID is updated
Click
Add
Select
Content
Scroll Down to Override Simple Fields
Product Description: Max 256 Characters
Type: New and improved Ladder Guide with the Neodymium Magnet Base.
Long Description: Text only. No HTML. No Formating.
Type: Fire Engine Ladder Guide Pebble Beach Style.
The The Ruffian Ladder guide is the perfect length to guide the ladder to it's mark.
Ladder Guide Features:
Heavy Pull Neodymium Magnet Base
Dimensions: 5l x 3w 18oz Vinyl
3-Bar Reflective Tape
Call 951-487-0909 if you have any questions.
Ruffian Specialties is a small Made in America company. If you like our products please tell your friends or ring our bell @RuffianBags or #RuffianBags on social media. Thank you.
Click
Update
Select Content - Not shown
Scroll to Upload Image
Select Browse
Select Full Size Product Image
Select Original
Select Upload Image
After upload image will be sized for small, medium, large, detail, and original.
Images are located in Drive:\ofbiz\themes\common-theme\webapp\images\products\item number
Additional images are located in a subfolder called additional1...2...3...4...
Automatic image sizing is not optimal in my opinion.
I will have to do a seperate section on images later.
Type
https://localhost:8443/ecomseo/
Notice that with first product you have Other under Categories.
The home page of Featured Products still does not display any products because we haven't added anything to that category yet.
Click on Other and you have your first product.
Advanced Tip
Import data with the Web Tools as detailed in OFBiz Facility Setup.
I kind of stopped with the individual ads and started figuring out to export from Quickbooks and import to OFBiz. So the following will hopefully give you some ideas how that works.
Using Google Drive I started making import files so I could blow out and restart at any point in the process.
Import file to Google Spreadsheets
Note how item is a long convoluted text string that works in Quickbooks, but in OFBiz we want just the part number.
I did a series of mid string functions to strip out the extra characters in Stage 1, 2, & 3 columns. Then I copied only the text values to the productId column.
I then created multiple sheets in FGDS Stage 1 to 6 to import the raw data.
FGDS Stage 2 is to create all the import fields
I setup and imported these fields:
productId=Spreadsheet Calculation
productTypeId=Manually Set Cut & Paste
internalName=Data from Quickbooks
brandName=All my items are Ruffian Specialties
productName=Data from Quickbooks
description=Data from Quickbooks
facilityId=Manually set. We only have one facility.
price=Data from Quickbooks
returnable=Manually set.
taxable=Manually set.
includeInPromotions=Manually set.
isVirtual=Went through these one by one manually.
isVariant=Went through these one by one manually.
virtualVariantMethodEnumId=Manually set.
salesDiscWhenNotAvail=Manually set.
primaryProductCategoryId=Manually set.
To get key data like virtualVariantMethodEnumId I used the OFBizDatamodelBook_Combined_20171001.pdf
This is the best data model that I have found available. It can be found here:
https://cwiki.apache.org/confluence/display/OFBIZ/Data+Model+Diagrams
I also use the Web Tools - Entity Data Maintenance
There are several very good tools in that section to assist you.
Stage 3 is pulling the data together in the correct format.
This is the Product table.
File Name=30 Finished Goods Import
File Name=30 Finished Goods Import Sample Data
<Product productId="00-00-Repair" productTypeId="SERVICE" internalName="Repair / Re-Work" brandName="Ruffian Specialties" productName="Repair / Re-Work" description="Repair / Re-Work" facilityId="F_CA_MAIN" returnable="N" taxable="N" includeInPromotions="Y" isVirtual="N" isVariant="N" virtualVariantMethodEnumId="PRODRQM_NONE" salesDiscWhenNotAvail="N" primaryProductCategoryId="RS_FGDS_NAV_OTHER"/>
<Product productId="00-00-Repair-M" productTypeId="SERVICE" internalName="Repair Main Zipper on Trauma Bag" brandName="Ruffian Specialties" productName="Repair Main Zipper on Trauma Bag" description="Repair Main Zipper on Trauma Bag" facilityId="F_CA_MAIN" returnable="N" taxable="N" includeInPromotions="Y" isVirtual="N" isVariant="N" virtualVariantMethodEnumId="PRODRQM_NONE" salesDiscWhenNotAvail="N" primaryProductCategoryId="RS_FGDS_NAV_OTHER"/>
<Product productId="00-00-Repair-S" productTypeId="SERVICE" internalName="Repair Side Zipper on Trauma Bag" brandName="Ruffian Specialties" productName="Repair Side Zipper on Trauma Bag" description="Repair Side Zipper on Trauma Bag" facilityId="F_CA_MAIN" returnable="N" taxable="N" includeInPromotions="Y" isVirtual="N" isVariant="N" virtualVariantMethodEnumId="PRODRQM_NONE" salesDiscWhenNotAvail="N" primaryProductCategoryId="RS_FGDS_NAV_OTHER"/>
<Product productId="10-02-0000" productTypeId="SERVICE" internalName="Name Patch (1 Lines) -" brandName="Ruffian Specialties" productName="Name Patch (1 Lines) -" description="Name Patch (1 Lines) -" facilityId="F_CA_MAIN" returnable="N" taxable="Y" includeInPromotions="Y" isVirtual="N" isVariant="N" virtualVariantMethodEnumId="PRODRQM_NONE" salesDiscWhenNotAvail="N" primaryProductCategoryId="RS_FGDS_NAV_ORGAN"/>
Stage 4 is pulling the cells together in the correct order. I had a problem on my import and the only thing I can think of that might have caused it is the order of the columns. In this step I set the column order the same as some Demo data imports and it worked.
This is the ProductPrice table.
File Name=35 Product List Price Import
File Name=35 Product List Price Import Sample Data
<ProductPrice productId="00-00-Repair" productPricePurposeId="PURCHASE" productPriceTypeId="LIST_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="0" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="00-00-Repair-M" productPricePurposeId="PURCHASE" productPriceTypeId="LIST_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="27.5" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="00-00-Repair-S" productPricePurposeId="PURCHASE" productPriceTypeId="LIST_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="23.5" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="10-02-0000" productPricePurposeId="PURCHASE" productPriceTypeId="LIST_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="8.95" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="10-02-0001" productPricePurposeId="PURCHASE" productPriceTypeId="LIST_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="10.95" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="10-02-0002" productPricePurposeId="PURCHASE" productPriceTypeId="LIST_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="9.95" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="10-02-0003" productPricePurposeId="PURCHASE" productPriceTypeId="LIST_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="8" createDate="2023-01-01 00:00:00.0"/>
Then I used Notepad to do a find and replace all on LIST_PRICE to DEFAULT_PRICE
File Name=40 Product Default Price Import Sample Data
<ProductPrice productId="00-00-Repair" productPricePurposeId="PURCHASE" productPriceTypeId="DEFAULT_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="0" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="00-00-Repair-M" productPricePurposeId="PURCHASE" productPriceTypeId="DEFAULT_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="27.5" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="00-00-Repair-S" productPricePurposeId="PURCHASE" productPriceTypeId="DEFAULT_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="23.5" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="10-02-0000" productPricePurposeId="PURCHASE" productPriceTypeId="DEFAULT_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="8.95" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="10-02-0001" productPricePurposeId="PURCHASE" productPriceTypeId="DEFAULT_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="10.95" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="10-02-0002" productPricePurposeId="PURCHASE" productPriceTypeId="DEFAULT_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="9.95" createDate="2023-01-01 00:00:00.0"/>
<ProductPrice productId="10-02-0003" productPricePurposeId="PURCHASE" productPriceTypeId="DEFAULT_PRICE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-01-01 00:00:00.0" price="8" createDate="2023-01-01 00:00:00.0"/>
Stage 5 was importing ProductCategoryMember data.
File Name=45 Primary NAV Catagory Import
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_OTHER" productId="00-00-Repair" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_OTHER" productId="00-00-Repair-M" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_OTHER" productId="00-00-Repair-S" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0000" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0001" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0002" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0003" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0004" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0005" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0008" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0009" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0010" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-02-0011" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_NAV_ORGAN" productId="10-03-0005" fromDate="2023-01-01 00:00:00.0"/>
Stage 6 was more ProductCategoryMember data but this time was RS_FGDS_SRCH.
This would make all items searchable.
File Name=50 Primary SRCH Category Import Sample Data
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="00-00-Repair" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="00-00-Repair-M" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="00-00-Repair-S" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0000" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0001" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0002" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0003" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0004" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0005" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0008" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0009" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0010" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-02-0011" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-03-0005" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-03-0100" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_SRCH" productId="10-04-0020" fromDate="2023-01-01 00:00:00.0"/>
Then I used Notepad to do a find and replace all on _SRCH to _VIEW so all items could be viewable.
File Name=55 Primary VIEW Category Import Sample Data
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="00-00-Repair" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="00-00-Repair-M" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="00-00-Repair-S" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="10-02-0000" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="10-02-0001" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="10-02-0002" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="10-02-0003" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="10-02-0004" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="10-02-0005" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_VIEW" productId="10-02-0008" fromDate="2023-01-01 00:00:00.0"/>
Then I used Notepad to do a find and replace all on _VIEW to _PRCH so all items could be viewable.
File Name=60 Primary PRCH Category Import Sample Data
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="00-00-Repair" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="00-00-Repair-M" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="00-00-Repair-S" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="10-02-0000" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="10-02-0001" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="10-02-0002" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="10-02-0003" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="10-02-0004" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="10-02-0005" fromDate="2023-01-01 00:00:00.0"/>
<ProductCategoryMember productCategoryId="RS_FGDS_PRCH" productId="10-02-0008" fromDate="2023-01-01 00:00:00.0"/>
Stop Here. The following are just some notes. Not sure what to do with them yet.
<Product productId="40-06-0021"
productTypeId="FINISHED_GOOD"
internalName="Ladder Guide"
productName="Fire Engine Ladder Guide Pebble Beach Style"
description="New and improved Ladder Guide with the Neodymium Magnet Base. "
longDescription="Fire Engine Ladder Guide Pebble Beach Style.
The The Ruffian Ladder guide is the perfect length to guide the ladder to it's mark.
Ladder Guide Features:
Heavy Pull Neodymium Magnet Base
Dimensions: 5l x 3w 18oz Vinyl
3-Bar Reflective Tape
Call 951-487-0909 if you have any questions.
Ruffian Specialties is a small Made in America company. If you like our products please tell your friends or ring our bell @RuffianBags or #RuffianBags on social media. Thank you."
isVirtual="N" isVariant="N"/>
Not formated import:
<Product productId="40-01-0200" productTypeId="FINISHED_GOOD" internalName="Airlock Belt" brandName="Ruffian Specialties" productName="Firefighters Belt with the Quick Release Airlock Buckle" description="" facilityId="RS_F_CA_MAIN" primaryProductCategoryId="RS_FGDS_NAV_BELTS" returnable="Y" taxable="Y" includeInPromotions="Y" isVirtual="N" isVariant="N" virtualVariantMethodEnumId=""/>
<entity-engine-xml>
<ProductPrice productId="40-01-0200" productPriceTypeId="DEFAULT_PRICE" productPricePurposeId="PURCHASE" currencyUomId="USD" productStoreGroupId="_NA_" fromDate="2023-05-01 00:00:00.0" price="49.95" taxInPrice="N"/>
</entity-engine-xml>