             dict["buyPrice"] = buyPrice
         }
         
-        if type(of: serialize(entity: productFolder, metaOnly: false)) != type(of: NSNull()) {
-            dict["productFolder"] = serialize(entity: productFolder, metaOnly: false)
-        }
-        
-        if type(of: serialize(entity: supplier, metaOnly: false)) != type(of: NSNull()) {
-            dict["supplier"] = serialize(entity: supplier, metaOnly: false)
+        if type(of: serialize(entity: productFolder, metaOnly: true)) != type(of: NSNull()) {
+            dict["productFolder"] = serialize(entity: productFolder, metaOnly: true)
+        }
+        
+        if type(of: serialize(entity: supplier, metaOnly: true)) != type(of: NSNull()) {
+            dict["supplier"] = serialize(entity: supplier, metaOnly: true)
         }
         
         if let image = image?.dictionary() {

    public func dictionary() -> Dictionary<String, Any> {
        var dict = [String: Any]()
        
        if type(of: serialize(entity: productFolder, metaOnly: false)) != type(of: NSNull()) {
            dict["productFolder"] = serialize(entity: productFolder, metaOnly: false)
        }
        
        if type(of: serialize(entity: product, metaOnly: false)) != type(of: NSNull()) {
            dict["product"] = serialize(entity: product, metaOnly: false)
        }
        
        dict["components"] = components.flatMap { $0.value() }.map { $0.dictionary(metaOnly: false) }

        dict["accountId"] = accountId
        dict["shared"] = shared
        
        if type(of: serialize(entity: group, metaOnly: true)) != type(of: NSNull()) {
            dict["group"] = serialize(entity: group, metaOnly: true)
        }
        
        if type(of: serialize(entity: owner, metaOnly: true)) != type(of: NSNull()) {
            dict["owner"] = serialize(entity: owner, metaOnly: true)
        }
        
        if type(of: serialize(entity: productFolder, metaOnly: true)) != type(of: NSNull()) {
            dict["productFolder"] = serialize(entity: productFolder, metaOnly: true)
        }
        
        if type(of: serialize(entity: supplier, metaOnly: true)) != type(of: NSNull()) {
            dict["supplier"] = serialize(entity: supplier, metaOnly: true)
        }
        
        if type(of: serialize(entity: uom, metaOnly: true)) != type(of: NSNull()) {
            dict["uom"] = serialize(entity: uom, metaOnly: true)
        }

        if let alcohol = alcohol?.dictionary() {
