How to track employee expenses in SuiteCRM? - sugarcrm

Is there a way to track employee expenses in SuiteCRM? The default installation does not have anything related to expenses and I could not find any documentation nor any paid module to do the same.

No there is not such a module in the base installation, but depending on your requirements you could create your own using the module builder.
You could create such a module with a relationship to users, defining a few fields like
amount
user (related field)
type of expense
date of expense
project (related field) [optional]
You could even add a file upload for attaching the picture.
If you really need the employees to have access to this, you could create a small app that communicates with the API so its a lot easier to just track expenses.

Related

What is the Concept of catalog and catalog aware items in hybris?

I have gone through all the formal definitions of these terms. But still, i have tough luck understanding them. I am a beginner in hybris. So Can somebody explain these concepts as simple as possible?
You must first understand the catalog concept in hybris.
The catalog in hybris, or anywhere in the world contains items for business. Therefore, Catalog in general, is the container of the commodities which are sellable entities (product) and which can be referred by the end users for transactions.
The catalog is not limited to just list of items, but how they are arranged also. Just an example, if you go to food restaurants, you can refer to their menu (that is actually a generalized catalog). You would notice that different restaurants, though serve the same food, but have different arrangement of items (products) in their menu - sometimes with different names, sometimes under different sections (categories). This is very similar to the hybris product catalog.
Now, taking the restaurant example further, Again two restaurants might serve the same food, but will have different ambience. This means the theme of the restaurant, the uniform of the waiters, the logos etc. This is similar to the hybris content catalog
Therefore, summarizing the above explanations, hybris has two catalogs - Product Catalog responsible for arrangement of the product hierarchy and the other as Content Catalog responsible for the layout (or the e-ambience) of the website.
Hybris Catalog has two versions - Offline (Staged) and Online. The business users work on the Staged version and push it (to) Online once the item under work (product or content) is suitable to go live. They do this via a process called Synchronization.
This process picks the items from Staged version, checks for some rules (which indicate that the item is ready to go live), and creates (or updates if already created) a copy of the item with Online as the version. Hybris system understands that only Online needs to go live, picks the item, and displays it on the website (storefront).
Now, there are some entities which should have two copies in the system, so that Business users (like content managers or product managers) can make appropriate changes to make it look suitable on the website before it actually appears there. E.g. - Product, Images etc.
But there are certain items which need not to have to copies of them, E.g. - Price, Stock etc. because they would be same for both copies of the item (Product in this case) and creating another copy would be an overhead on the system.
Therefore, the items that (should) take part in the synchronization process like Product, CMS Pages, Components etc. are called Catalog Aware.
The items which do (or should) not take part in synchronization process are called Catalog Unaware
Hope this helps!
In hybris one catalog can have different catalog versions. Product catalog has mainly 2 catalog versions — Staged and Online.
Staged Catalog — this catalog version is a test catalog version. Modifications are made first in the staged catalog. When changes/modifications are tested/approved and you are satisfied then you publish them to be available online to your users by synchronizing staged catalog to the online catalog.
Online Catalog — this catalog version is is the one which will be used to display on the storefront(the active one).

Drupal Commerce, How to control custom form fields in the product form?

I'm developing a custom module that has to send some information to a Web Service after a Product is inserted, updated or deleted.
In order to ensure that all the fields required by the Web Service exist, I have decided that the module should be the one in charge to put them in the Product form. I achieved It by extending the commerce_product_product_form function.
But now, I have noticed that the values for the fields that I have added are not saved, so I supposed that I have to define a custom table in the module to store the additional information.
I have taken the example from AutoSKU regarding how to save and load data for Product Types form. But, what I've not found is how to do, or what are the hooks for saving and loading data for the Product form.
So, my questions are:
Is It correct what I'm thinking about creating a new table for storing the additional information that I require or can It be implemented as part of the existent routines that the commerce module handles?
If the module has to save and load the data by using a custom table, What are the hooks that I should use in order to append the form data and save It to the module tables?
If I can store the information using the commerce routines, What should be the way and/or the hooks to define the custom form fieds?
Can you tell me if there is any example about how to achieve this?, I have seen some modules but, basically all of them just modified a behavior of the existent fields, they don't add new fields, as far as I could see. The modules that I have reviewed are:
commerce_custom_product
commerce_dressing_room
commerce_fancy_attributes
commerce_tickets
I would like to achieve this by using the commerce and Drupal best practices but I need to finish this module as soon as possible. So, in the meanwhile I'll be saving the data to a custom table and loading the additional information in the commerce_product_product_form hook and saving the information in the commerce_product_save hook.
For loading the data I have tried with the hook_commerce_product_load and hook_entity_load, but for some reason the call seems never happening (I'm sending some information to Watch Dog but It's never displayed), I also have tried by clearing the cache without any change.
Any help would be appreciate.
Thanks in advanced
Are these fields going to be created during normal use of the application (hourly/daily)? Or are they only being added at the beginning (initialization process)?
If the latter, you could create an install script similar to the ones found with many, many modules out there (module-name.install).
Have you considered adding the fields to the content type?

Zend Framework - How to manage subscription plan privileges

I'm developing a REST API using Zend Framework 1.12.3.
I have to implement subscriptions for different types of plans (i.e. Basic and Premium), each plan having different privileges (e.g. Premium may offer instant, daily and weekly SMS notifications, while Basic may offer only weekly SMS notifications).
Also, there may be custom plans only for certain clients.
I've added a column in the users table called subscription, but what I cannot figure out is where to save the privileges for each subscription plan.
Should I save these privileges directly into the DB (i.e. create a table called subscriptions, and another one called subscriptions_privileges having as columns subscription_id, privilege_name and privilege_value), or would it be better if I save them into the config file?
Thanks
Note: Actually this question is not linked with Zend Framework, it is system architecture question.
Short answer:
it is much more easy to hardcode your subscription plans in your source code configuration files;
it is much more flexible to store this data in database (you can create some administration panel to allow managers to manage them, track history of plan changes, use these data in analytical SQL queries). Theoretically you can deal with all this stuff through reading and writing to your config files, but databases are just the exact tool for these tasks.
P.S.: You can add separate layer of abstartion in your application. Use model objects for your subscriptions which can be populated either from database or from your hard-coded config files using different adapters.

QBFC: Custom Reporting - Filter by custom field

In reference to a previous question of mine:
qbfc CustomerQuery based on email address?
Is it possible to create a custom detail report of customers, and using a custom field to "filter" the report. I must admit, I am not really clued in on CustomDetailReports, as I have no need for implementing them, and never had.
It does however look like its supposed to do just what it says, a custom report feeding you info form quickbooks?
What I am attempting to do, is get a list of customers in a detailed report, and filtering that report based on a custom field value. This way I can narrow down my possibilities of customers I need to check for, and get their ListID's or FullNames.
Currently I am returning all the customers using a customerquery, and iterating through them one by one to get the guy I am looking for. This is becoming a slow process as the customers increase.
I can store my own reference in an external DB, and use that to reference an email address to a customer ListID, but I would really like to achieve this with the data stored in Quickbooks only, as per the Quickbooks philosophy of, "Store Data Once"
Before I spend resources on trying to implement a custom report, can something like the above be achieved with Custom Detail Reports?
Thanks in advance.
Is it possible to create a custom detail report of customers, and using a custom field to "filter" the report.
Nope. QuickBooks does not support this.
It does however look like its supposed to do just what it says, a custom report feeding you info form quickbooks?
It will display a custom report, yes... but it won't allow you to filter it by custom fields.
Currently I am returning all the customers using a customerquery, and iterating through them one by one to get the guy I am looking for. This is becoming a slow process as the customers increase.
Have you considered instead caching the customers in your app? That would be much faster. Then you can just periodically run a query against QuickBooks to get customers that have been updated since the last time you ran the query (e.g. incremental sync of data).
I can store my own reference in an external DB, and use that to reference an email address to a customer ListID, but I would really like to achieve this with the data stored in Quickbooks only, as per the Quickbooks philosophy of, "Store Data Once"
My personal experience has been that, unfortunately, the query syntax that QuickBooks allows/uses is too restrictive for that to be realistic.

DotNetNuke Multivendor CMS/Store

I need to find a CMS like, set of modules/module which does the following:
give users different logins and access to add their own products.
other users cannot see products which are not added by themselves.
so user A can enter his login and add a set of 5 products. user B can enter his login and add 2 products. user A can never see the 2 products added by B and vice versa.
Any suggestion in already existing modules?
both free and with a price
You can do this with Forms and Lists. Setup the fields you want to collect and then you can use it to only render the logged in users results to them. Also could use XMLdb module or even reports module to query the data out of the database after saved with forms and lists
So no one can see each others products? They are just going to buy from themselves? ;)
Tricky part about users adding their own products is payment. That's why this is not a common store feature. If you allow people to add products, you usually need to allow them to setup their own payment provider to collect the money. And in some cases you (the site owner) would want to take a percentage. Which makes it even more complicated.
I'm not aware of any GOOD DotNetNuke e-commerce module that can do this.
It's very possible Catalook has some feature to do this. They have somehow tried to add every feature ever imagined into their product. But, overall I find it terrible to work with. That is your best bet for trying to get something like that out of the box.
Or try and get one of the open source solutions like NBstore and modify it.