📜 ⬆️ ⬇️

Automate workflow with the new platform. Part 1. Office. Work with "Incoming Documents"

"By designing Flexbby Parametric, we implemented the ability to customize most of the processes in an organization using existing Event Handlers and Platform Actions .


We also added the ability to develop additional business logic in the form of add-on scripts written in Python (their use in our system is the exception rather than the rule) . "


"Our system handles several dozen types of Events, and we are constantly expanding it if we encounter some unique cases with our customers. Most other systems handle only two events - Create (Create) and Change (Change) . "


"The new platform provides the ability to form an unlimited number of different actions, if something is non-standard, then you can write a script in Python and execute it if a certain Event occurs . "


"Our new development has radically changed our work on business automation. We don’t have to do programming for each client. In the morning we meet with the client, in the evening we are testing the finished application . "


But it is better to show once than to tell 10 times.




Simple electronic document management is not able to meet the needs of organizations. Customers are no longer satisfied with the classic functionality of business applications, they want to get the tools with which they will solve their problems related to business management. And management is more a process approach than an accounting one.


Currently, in the functional development of IT automation products, trends can be traced:


• more and more universal BPM systems are gaining popularity that allow you to automate completely different end-to-end enterprise processes;
• Classical systems SED, CRM, ERP begin to acquire the functionality of process management and cease to be only accounting systems;
• the functionality of some systems begins to penetrate into other systems, and we can see a CRM system with a document flow subsystem or an ERP system with a process control subsystem.


Here are some popular features that complement the ERMS:

• automatic billing and creating acts;
• automation of the process of collecting documents of primary financial statements;
• automation of the counterparty approval process;
• automation of control of performance of contractual obligations;
• automation of control of payment schedule for contracts.


In our reviews we will consider the following possible areas of automation based on our new Flexbby Parametric platform:


RegionProcesses / Documents
Office / clericalIncoming, Outgoing, Power of Attorney, Protocols, Orders, Internal regulatory documents, Orders, Utility Notes, Explanatory Notes, Orders, etc.
Contract workAgreeing on contract templates, Agreeing on contracts, Agreeing on counterparties, Monitoring the execution of contracts, Prolongation and autorolongation of contracts
Electronic archiveKeeping paper copies of documents, Streaming document input (digitizing paper documents), Applications for originals
Financial documentsCreation of acts, invoicing, control of receipt of original accounting documents, automation of control of payments. Budget control
Sales, CRMWork with client base, work with leads (Lead), work with deals (sales opportunities), work with orders and sales, work with activities

Our new development has radically changed our business automation work. We do not have to do programming for each client now. In the morning we meet with the client, in the evening we are already testing the finished application.


Let's start in order from the Office , as this is a typical SED functional.


Let us examine a simple example - “Incoming Documents” .


In order to properly configure Flexbby Parametric, it is necessary to conduct a simple analysis of the process of working with incoming documents at the customer. Most system providers offer solutions that are supposedly easily customizable and allow you to take into account all the possible features of the processes in the company. On our platform, business processes are not written in the form of a “tree”, but are lined up as a network , and at any time new connections can be created, the configuration of business logic can change. And this does not require the development of software code , so all changes are really quickly and inexpensively made throughout the entire period of application use.


A typical project is as follows:


• Consultants first describe the processes.
• A system is selected that supposedly satisfies the requirements for setting up processes.
• Begins a long and painful adjustment process.
• Transform and rebuild processes based on the capabilities of the system.


When designing the mechanisms for setting up and modifying our products (Flexbby Contracts, Flexbby Sales, Flexbby Service, Flexbby One), we immediately put into them an Agile approach , which allows us to:


• Significantly reduce the time of the survey and system implementation.
• After the first interviews with process owners, set them up in the system.
• At the initial stage, anticipate the risks of non-compliance of the company's processes with the capabilities of the system. Weightedly make a decision to change the process or to create new modules within our platform.


When designing Flexbby Parametric, we implemented the ability to customize most of the processes in an organization using existing Event Handlers and Platform Actions.
We also added the ability to develop additional business logic in the form of add-on scripts written in Python (their use in our system is the exception rather than the rule).


But it is better to show once than to tell 10 times.


To begin with, we will describe what turned out during the examination of the “Incoming Documents” process when working with several customers.


The document moves along the following process:



')

Roles in this process *:


• A secretary is a group of employees who register incoming documents;
• A manager is an employee who issues a resolution on a document and appoints performers and testers;
• The Introductor is the employee who should be familiar with the incoming document;
• A contractor is an employee who performs work with an incoming letter, preparing the corresponding outgoing letter.



During the testing phase of the pilot solution for working with Incoming Documents, we identified a number of important points :


  1. Each incoming document has a certain category, and on its basis it is possible to configure the rules for the automatic addition of the Contractor and the Acquirer , thereby relieving the Chief who appointed the Contractors.
  2. Sometimes incoming documents need to be backdated , but not all employees can do it.
  3. Sometimes the incoming document was classified as Contracts . Therefore, it was necessary to associate with the object of the Treaty;
  4. It was necessary to configure many checks to minimize user errors when entering a document.

Before setting up the Process of the Document type in the system, we set up two Directories: States and Roles.
States is a simple reference in the system, which is the same for all processes:




Configuring Roles :




One of the advantages of Flexbby Parametric is that the process is configured separately and then associated with the type of document . The customized process can be used for an unlimited number of custom document types , which greatly simplifies and reduces the cost of customization . Typically, a company is distinguished by 3-4 template processes that documents are moving through. Basically, most documents are slightly different parameters and patterns from each other. Therefore, Processes can be configured once, and then, without limitation, used and further defined in documents.


Now we set up the process of the incoming document :




This is how the configured process diagram in the system looks like. The numbers in brackets show how many documents are in this State.
We deliberately screen cases from the working version of the implemented system.
Red squares show that there are documents in the States from which there is no transition.


The system is flexible and allows you to reconfigure processes, even if documents move along them: a business administrator should be able to track documents that are stuck, then he can make temporary settings to run them into an executable process, or, alternatively, delete them from the system or to archive.


The main thing in the settings is setting up Roles in the Process and setting up Transitions .


Let's start with setting up Roles .
We have already defined Roles in the global directory in the system.
Then, for a specific Process, we determine who can perform this Role.




It can be a user in the system, it can be an employee of the organization, it can be a full-time unit without being tied to a specific employee (full name).


If you set up a specific employee, in the event of his dismissal, the documents that came to him will wait for the decision of this employee, but for such situations the system provides for the possibility of conditional or unconditional delegation of decisions or substitution.


Next, for the Process, Transitions are configured and Role / Roles are defined that can carry out Transitions.




For the Transition, the initial State and the final States are determined in which the Transition will be effected.


For the Transition, the name of the Transition button is determined.




and the result of the Transition, which will be recorded in the history of the Document:




The next important setting is the Transition condition :


Eligible Member
This option allows you to configure the number of people from the Participants who are to make this Transition.


The simplest case is when we have one participant, and he alone makes a decision.
But in many organizations, especially where there is a lot of authority delegated to middle management, it is necessary that, for example, two people out of three make this decision. In this case, the cost claims are confirmed by at least two managers of your level. It can be configured that the employee adds the three Agreeors, if two of them have confirmed the Document, he acts further, without waiting for the decision of the third.


Percentage achieved
With this setting, you can set the percentage of decisions that are necessary for the implementation of the Transition. If you set 100%, then all participants in the Process must vote for this decision.


Maximum percentage
A decision that is made by a majority vote.


Member with highest priority
This setting allows you to configure the Transition so that the decision on the Transition will be made based on the priority of the participant. Sometimes in the process of approving documents, the manager has the right to approve the document, even if other participants have made a different decision.


Avtoperehod in the absence of participants
Allows you to customize the process so that certain Negotiation States are skipped.
For example, a template agreement is agreed by lawyers and an accountant, only if there is a dispute protocol to it. Consequently, with the help of the Flexbby Parametric handler, you can configure the addition of coordinators in case the contract initiator has loaded the protocol.
If the protocol is not loaded, the system will automatically agree on a template agreement and send it for signing.


Close the dialogue when making this decision
Sets the automatic closing of the document dialog (window) when a decision is made.


Remember the decision of the participant in the case of a second decision
Allows you to memorize solutions. This is necessary when the document can walk in a circle and the opinions of the people who have voted are no longer taken into account.


Wait for the decisions of all participants
Allows you to customize the ability to wait for all decisions of participants, even if according to other conditions, the Transition criterion is reached (the required Percentage of voters, for example).


We conclude to consider the process. There are some interesting settings and “use cases”, but we'll write about this in a separate post. For example, you can parse the setting of the Contract Process when there is a dedicated “Contract Administrator” Role, which has the right to move the contract to any States, but ordinary users see this participant in the process. The practice of implementation shows that such a participant in the process is needed, since users make many mistakes, because of which the processes stop or go in the wrong direction.


The next setting you need to do is configure the Document type itself .
The following parameters are defined in the Document type setting:








For each of this item, you can write a multi-page text, we restrict ourselves to a few case studies.


And let's start with the Connection settings .


As we said, we will have the Incoming Document connected with either an individual or a legal entity, and can still be associated with any contract (for example).


The role of the Connection is set up first. In our case, two Roles must be configured: “From whom” and “Agreement”.


The “From whom” role can include 3 participants for the case in question (in our case these are object classes, and I plan to provide details on the work of Flexbby Parametric in a separate post).




Inside the Role there are a lot of settings, we will not describe in details.




The basic setting of the Role of Connection is the choice of an object (written in Python in the system). In short, Links allow you to link any objects in a Process without additional code development and to provide business logic processing.


An example of a table of available object classes :




An example of displaying an implemented class in Python in the System Interface:




Next, configure the Connection itself, which will already be specified in the object settings (in the Document type):




Relationship consists of Roles, which are defined by object classes. Indicates the display priority in the Link interface, the minimum and maximum number of objects in the Link, the ability to hide the Link in the display of the table of objects and the Link transformation. Very important functionality: it is necessary when the Process of one document spawns another, for example, when invoices are automatically created from a contract, the transformation is configured so that the Link of one object is automatically transformed into the Link of another.
The settings and features provided by the Communication, we will consider in a separate post.


The result, as it looks in the object card, if the Connection setting is “From” + “Agreement”:




If just “From whom” without the Agreement:




Connections provide greater flexibility in the system configuration , allow you to customize the business logic of customers, which is difficult to assume when designing a system.


For example, one customer required to link office maintenance contracts with office lease contracts and ensure that the office maintenance contract cannot be concluded if there is no valid office lease contract.


Or there was a customer company that sells through legal entities located in different countries and which are more managerially connected, and in the transactions it was necessary to indicate through which legal entity payment would be made. Based on the choice of a particular company, an invoice was created and sent along the desired route.


And one more case. Not all sellers could sell through all legal entities, and if the seller specified a legal entity that was not approved for it, then such a transaction required additional approval.


Customizable options
They allow you to customize the set of fields of various types that are displayed in the Document Card.


An example of what we see in the Document Card:




How it looks in the settings.
List of all parameters.




An example of setting one parameter. Below we describe how to handle the parameter values ​​when setting up the business logic of a process:




Event handlers and Actions are, one might say, the basis of Flexbby Parametric .




Handlers monitor events that occur in the system and, depending on the Conditions, produce certain Actions .
Creating and expanding a business system using the Event Handlers concept , as our experience shows, is much simpler. If we have not considered any cases or even suspected them, then they can be added later by another Handler. For example, it is necessary to notify the chief engineer of the enterprise if a new version of the specification is created in a particular type of contract.


Let us analyze a simple Handler, which handles the need to enter the date of the answer to the incoming one, if “Require answer” is selected (we entered these parameters a little higher).
It is triggered by an event when the Process changes the State - the “Move” Event.
Our system processes several dozen types of Events , and we are constantly expanding it if we encounter some unique cases with our customers. Most other systems handle only two events - Create (Create) and Change (Change).




Next, we impose Conditions , and check the field values ​​of related objects.


And we prescribe the Handler Response Conditions and Actions to be executed.




Flexbby Parametric provides the ability to form an unlimited number of different Actions , if something is non-standard, you can write a script in Python and execute it if a certain Event occurs.
We will also write about Events that are processed by Flexbby Parametric and Actions in a separate post.


The most important thing is how it looks in the Object card .
When you click the "Register" button, the Notification is displayed, and the Process does not go to the next State until all data has been entered.




A little bit about the interface settings


Flexbby Parametric allows you to hide Document Card objects, depending on the Conditions, Process Status, User Roles, etc. You can flexibly customize various business rules.


This setting hides the Outgoing Documents table if the parameter value requires the answer “Set to No”.




What does the Document Card look like?


The parameter requires the response "Set to" Yes.




The parameter requires the response "Set to" No "."




Thanks to everyone who read to the end.


BE FLEXBBY!

Source: https://habr.com/ru/post/335844/


All Articles