Lorem Ipsuma CRM System

Lorem Ipsuma CRM system is a custom full-feature CRM system developed for a Marketing Startup based in Istanbul, Turkey, from November 2016 until January 2018. Thanks to its well-designed architecture, this CRM system is a highly extensible and maintainable software system that can be easily and quickly adapted to the new and changeable requirements of a marketing company in a very competitive business environment. Its architecture is completely object-oriented and it has been fully developed based on MVC design pattern. Its core is based on TPS framework, a PHP framework which has been developed for implementing extensible, flexible, and highly customizable business applications.

This CRM system can handle many complexities including but not limited to Localization and Multi-Language Usage, Landing Page Integration, S2S Postback Integration with the Referrers, API based Integration, Affiliates Accounts and Management, Requests and Orders Management, Customers Management, Shipping Management, Agents Management, Contacts Management, Conversion Policies, Users Management, various types of Reports Generation Tools, Flexible Access Control Management, Events Handling and Reports for Orders, Customers, Users, and Products, and non-functional features including Scalability, Reliability, and Security.

< Product Documentation >

Leads are generated in the system either directly through the integrated landing pages or are entered into the system by other third parties through the system API. Generally each lead consists of customer full name and phone number. The generated leads can be approved by administrators and converted to orders, and then the created orders can be assigned to different agents in order to start processing them.

Customers are separated from orders in the system. Each customer can have more than one order over the time, and a customer can be assigned to an order. When agents start processing a new order, they can use the “Find Customer” tool which helps them to find the customer of the order among all existing customers based on the lead full name and phone number. If there is already such a customer in the system, they can assign it to the order, and if there is not that customer information in the system, they can create it as a new customer. Customer profile information can be saved in the system in multiple languages that means each customer can have more than one profile in different languages. Each customer can have more than one contact information. Contact information can also be multi languages. When an agent gets the approval of customers for their order so that the order items can be sent to the customers, if the shipping information of the customers does not already exist in the system, the agent has to create them as a new contact for them. Then the agent has to select one contact from the customer’s contacts for shipping purpose, the contact which has been approved by the customer. Then that contact will be assigned to the order and submitted to the shipping department for shipping related processes.

The quality control and shipping managers can check and inspect the orders approved and submitted by the agents for shipping, and if they can approve them, then the orders will be sent to the shipping queue in the system. In a predetermined time during each working day, the excel export of the orders existing in the shipping queue are created by the shipping manager and it will be sent to the shipping company, and then the status of those orders will be changed to shipped. The system can automatically get the shipping status of the shipped orders by connecting to the server of the shipping company through its corresponding API. Then the final status of the shipped orders whether it is delivered or undelivered can be automatically obtained and set by the system.

Products are also created in the system as multi language entities and they can be organized in hierarchical groups. Product groups are also created in the system as multi language entities and they can be organized in a hierarchy. Multi language entities can have more than one profile in different languages. Customers and contacts as mentioned above are also multi language entities. Departments which can be assigned to the users of the system are also multi language entities which can be organized in a hierarchy. It is also possible to attach files and images to the profiles of customers, products, product groups, and departments. The attached images might be automatically cropped and optimized by the system based on the system configuration parameters before they are saved in the system.

For each order, the agents can easily find a product from a list to add it to that order. They can add more than one product with any amount to each order. The final subtotal of the order will be automatically computed by the system based on the price of the products. But the agents can also manually set the subtotal and discount of the order, and then the total of the order will be automatically computed by the system. The price of the products and the value of orders can be easily viewed and processed in multiple currencies. The main report generation tool will allow changing the currency in order to see the revenue and cost results in various currencies.

The web address of the integrated landing pages and also the address of the API leads are stored in the system if they are sent by the clients. If the lead requests contain some new referrer information, that referrer information will also be stored in the system. The system can generate various types of reports for every referrer or landing page.

Affiliate entities can be created in the system, and then some existing landing page addresses in the system can be assigned to them. For each landing page of an affiliate, a payout value can be set in any supported currency. That payout will be paid to that affiliate for each conversion occurring for the leads come from that landing page. Then the system can automatically compute the total revenues of the affiliates in various time periods and also separately for each landing page assigned to them.

User accounts can be created in the system in one of the two classes “Employee” and “Partner”. Also, a user group has to be assigned to each user that determines what information the user is authorized to access and what actions is authorized to do in the system. User profiles are also multi languages, and each user can have more than one profile in different languages. Also each user can have more than one contact information in different languages. Also users can attach some files and add their photo to their profiles. Some landing pages, a referrer, or some affiliate entities can be assigned to each partner account, and then that partner user can only see the leads and orders come from the assigned landing pages, or come from the landing pages of the assigned affiliate entities, or leads and orders referred by the assigned referrer. The partner users to whom some affiliate entities have been assigned can see their revenues and statistics in various time periods.

All events of any type including creation, change, and deletion in orders, customers, products, and users are recorded in the system and can be easily accessed and reviewed at any time in the future. So in the system always it is clear which user at what time has caused which changes in which data fields of orders, customers, products, and users. Also “Check in” and “Check out” actions have been implemented in the system to prevent editing orders or other entities such as customers and products by more than one user at the same time.

An almost full localization is supported by the system including languages, currencies, countries, zones, cities, and districts or areas. The system is multi language at its core, and new languages can be easily added to the system. New countries, zones, cities, and districts can be added to the system to be easily used in creating the contact information of customers or users in the system. New currencies can be added to the system to be easily used for setting the price of products and the value of orders.

This CRM System has been developed based on TPS Framework that is a highly extensible and maintainable software development framework. The system is highly scalable and has a good performance considering the large amount of data which has been being processed and stored in the system during about one year after the marketing company started to use this system.

System Dashboard