This document discusses how to develop an in-app purchase (IAP) service in Odoo. It describes the normal service flow as: (1) a client requests a service, (2) the service provider checks if the client has enough credits and creates a transaction, (3) the service is provided, (4) the transaction is captured or cancelled, and (5) the client is notified. It also provides details on registering a service with Odoo IAP, developing the client-side Odoo app, using IAP helpers on the service-side, and testing the IAP integration.
The document discusses the Odoo JS Framework and introduces a new framework called Owl. It summarizes that Owl is a standalone framework for building components with a declarative syntax. It benchmarks Owl against other frameworks like React and Vue, finding Owl to be 3x faster than Odoo widgets and comparable in performance to React and Vue. The document promotes Owl as the new Javascript framework for Odoo starting in version 14.
Owl JS is a small JavaScript framework for building user interfaces based on XML templates. Some key points about Owl:
1. It uses XML (QWeb) templates that are compiled just-in-time for efficiency.
2. Components are defined as classes that extend a base Component class. The UI is a tree of nested components.
3. It supports modern features like hooks, slots, and stores to manage state and reactivity.
4. The document provides an example of building a to-do list app in Owl to demonstrate how to define components, handle events between them, and manage state. Key aspects covered include extracting sub-components, dependency injection via the "env"
This document discusses using asynchronous JavaScript (JS) in Odoo. It covers:
- Creating and handling promises in JS, including creating promises, waiting for promises, and handling errors.
- Examples of asynchronous functions that return promises in Odoo, including loading a template asynchronously and creating a widget instance.
- How to handle concurrency issues that can arise when users click quickly, such as ensuring the last clicked item loads first and loads all items in sequence.
- The concurrency primitives available in Odoo like DropPrevious and Mutex that can help address these issues.
This document describes how to create a custom snippet in Odoo that displays products currently in the cart. It involves:
1. Creating a snippet template to display the product cards
2. Adding a controller to fetch product data from the cart
3. Rendering the template with product data
4. Creating a public widget to fetch data and render the snippet
5. Adding options to configure the number of products displayed
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...Celine George
This slide explains the Wizards: Defining and Launching in Odoo. Wizards describe interactive sessions with the user (or dialog boxes) through dynamic forms. A wizard is simply a model that extends the class Transient Model instead of Model. Wizard records are not meant to be persistent; they are automatically deleted from the database after a certain time. This is why they are called transientWizard models do not require explicit access rights: users have all permissions on wizard records. Wizard records may refer to regular records or wizard records through many2one fields, but regular records cannot refer to wizard records through a many2one field.
The document discusses integrating Odoo widgets and Owl components. It provides information on:
1. How to add Owl components to Odoo templates using XPath and registering components.
2. The three kinds of boundaries between Owl components and Odoo widgets - component to component, component to widget, and widget to component. It describes helpers for each case.
3. How to create a new field widget by subclassing AbstractFieldOwl and registering it in the field registry.
4. Notes on the Odoo environment and component lifecycle when integrating Owl and Odoo.
The document discusses the Odoo JS Framework and introduces a new framework called Owl. It summarizes that Owl is a standalone framework for building components with a declarative syntax. It benchmarks Owl against other frameworks like React and Vue, finding Owl to be 3x faster than Odoo widgets and comparable in performance to React and Vue. The document promotes Owl as the new Javascript framework for Odoo starting in version 14.
Owl JS is a small JavaScript framework for building user interfaces based on XML templates. Some key points about Owl:
1. It uses XML (QWeb) templates that are compiled just-in-time for efficiency.
2. Components are defined as classes that extend a base Component class. The UI is a tree of nested components.
3. It supports modern features like hooks, slots, and stores to manage state and reactivity.
4. The document provides an example of building a to-do list app in Owl to demonstrate how to define components, handle events between them, and manage state. Key aspects covered include extracting sub-components, dependency injection via the "env"
This document discusses using asynchronous JavaScript (JS) in Odoo. It covers:
- Creating and handling promises in JS, including creating promises, waiting for promises, and handling errors.
- Examples of asynchronous functions that return promises in Odoo, including loading a template asynchronously and creating a widget instance.
- How to handle concurrency issues that can arise when users click quickly, such as ensuring the last clicked item loads first and loads all items in sequence.
- The concurrency primitives available in Odoo like DropPrevious and Mutex that can help address these issues.
This document describes how to create a custom snippet in Odoo that displays products currently in the cart. It involves:
1. Creating a snippet template to display the product cards
2. Adding a controller to fetch product data from the cart
3. Rendering the template with product data
4. Creating a public widget to fetch data and render the snippet
5. Adding options to configure the number of products displayed
What are Wizards - Defining and Launching in Odoo 15Wizards - Defining and La...Celine George
This slide explains the Wizards: Defining and Launching in Odoo. Wizards describe interactive sessions with the user (or dialog boxes) through dynamic forms. A wizard is simply a model that extends the class Transient Model instead of Model. Wizard records are not meant to be persistent; they are automatically deleted from the database after a certain time. This is why they are called transientWizard models do not require explicit access rights: users have all permissions on wizard records. Wizard records may refer to regular records or wizard records through many2one fields, but regular records cannot refer to wizard records through a many2one field.
The document discusses integrating Odoo widgets and Owl components. It provides information on:
1. How to add Owl components to Odoo templates using XPath and registering components.
2. The three kinds of boundaries between Owl components and Odoo widgets - component to component, component to widget, and widget to component. It describes helpers for each case.
3. How to create a new field widget by subclassing AbstractFieldOwl and registering it in the field registry.
4. Notes on the Odoo environment and component lifecycle when integrating Owl and Odoo.
Set Default Values to Fields in Odoo 15Celine George
There are certain times when some fields will be needing to have a default value loaded into their instance all the time. In Odoo, sometimes we have to set a specific value for a field by default every time we create a record of that model. Set default value for fields have several methods in this slide we discuss some of that methods
How to show warning _ error messages in Odoo 16 Celine George
This document discusses different types of exceptions in Odoo 16 that can be used to show warning or error messages to users. It describes 7 common exceptions: ValidationError, UserError, AccessError, MissingError, AccessDenied, IndirectWarning, and CacheMiss. Each exception is triggered in specific situations, such as validation failures, access right violations, invalid logins, missing or deleted records, and cache misses. The exceptions prevent execution and inform users of issues.
How to Use Constraint and SQL Constraint in Odoo 15Celine George
Odoo helps you to set constraints to variants which we can perform using python and model constraints. In odoo python constraints are specified along with methods. This Slide will provide an insight on python and model constraints in Odoo 15. In python, constraints are defined along with a method decorated with constraints().
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)ElínAnna Jónasdóttir
Odoo's security model uses multi-level access controls to restrict data access through groups, access control lists (ACLs), and rules at both the model and field level. Common vulnerabilities include injection, improper access controls, information leaks, and cross-site scripting. To break Odoo's security, one would try to exploit vulnerabilities like SQL injection, accessing data without proper permissions, or leaking sensitive information through unsafe domain combinations.
Tutorial: Develop an App with the Odoo FrameworkOdoo
This document describes how to build an Odoo module for a plant nursery management system. It covers the module architecture including models, views, menus, and basic CRUD operations using the ORM. It provides examples of model definitions, form and kanban views, search views, computed fields, constraints, and onchange methods. The goal is to manage plants, customers, and orders to track inventory and sales.
Instead of modifying existing views in place, Odoo provides view inheritance where children “extension” views are applied on top of root views and can add or remove content from their parents. An extension view references its parent using the inherit_id field, and instead of a single view, its arch field is composed of any number of XPath elements selecting and altering the content of their parent view.
This document discusses the mis_builder module for Odoo. The module allows users to create customizable financial reports with accounting and operational data. Key features include mixing accounting and operational data, comparing periods, exporting to Excel and PDF, and drilling down on accounting entries. New features in version 9 include improved usability, styling without CSS, auto-expanding accounts, and exporting reports to Excel. The document also provides demo instructions and details the module's roadmap and code repository.
This document provides a tutorial for creating themes and customizing websites built with Odoo CMS. It discusses starting with basic HTML pages, using snippets to build reusable components, adding JavaScript and CSS logic, organizing snippets, and adding customizable options. The goal is to demonstrate how to achieve infinite customizations through templates, inheritance, and overriding variables to create fully customized themes while leveraging the robust Odoo backend.
Odoo Experience 2018 - Inherit from These 10 Mixins to Empower Your AppElínAnna Jónasdóttir
The use case for this presentation will be a plant nursery implementation. During this session we'll present several powerful abstract classes from Odoo
This document discusses the history and evolution of organizational systems, from early calculation systems used in the 1950s-1980s to address single business functions, to later functional systems of the 1970s-1990s that began integrating some departmental systems. It then describes the development of enterprise resource planning (ERP) systems starting in the 1990s to integrate all business functions and processes across an entire organization onto a single computer system. Key benefits of ERP include integrated data sharing and real-time information across the enterprise. The document also notes some challenges of ERP implementation like whether to modify business processes or software.
Odoo now for Business ? How is that possible? Let us research on the topic now. Odoo one of the best Open Source ERP Package intact aided with Business Intelligence. Suitable fir all categories of firms small and big enterprises. Falling in love with Odoo now! Let's see what makes it so love able.Thus Odoo with all these categorized types and modules bring businesses to the front or any application(s) or businesses. So I would encourage and suggest you to use Odoo and its concepts for all possible applications be it small or large to reap revenues in businesses. Odoo equipped with web-based architecture can be accessed by a web browser.
ERP is a category of business management software that integrates core business processes through a common database. ERP provides an integrated view of activities like finance, manufacturing, and human resources. It tracks key resources and business commitments. ERP systems can be installed on-premises or accessed through the cloud.
The document summarizes the story of Odoo, an open-source ERP software. It started as TinyERP in 2005 with 2 employees and has grown significantly over time. The key points are:
- Odoo began as TinyERP and later became OpenERP, aiming to provide an affordable alternative to SAP. It now has over 1000 employees.
- It offers a full suite of business apps and is available in different editions. The software can be used across many industries.
- Odoo follows a multi-tier architecture with presentation, application, and data layers. It uses HTML5, JavaScript, CSS, Python and PostgreSQL.
- Pricing is subscription-based, with options for self-hosting
Odoo Experience 2018 - Visualizing Data in Odoo: How to Create a New ViewElínAnna Jónasdóttir
1. The document discusses how to create a new view in Odoo by walking through the steps of building a basic "Hello World" view.
2. It begins by setting up the basic addon structure and files needed to define the new view type. It then covers importing dependencies, defining the view class, and exporting the view.
3. The document demonstrates adding functionality like fetching and displaying data, using an architectural definition, and extending the view using a JavaScript class.
4. It concludes that creating a new view in Odoo is relatively easy and fast, taking around 130 lines of code, but additional work is still needed for testing, documentation, customization, and validation.
This document discusses how to develop automated tests for websites using website.tour.js. It begins by explaining what automated tests and tutorials are. It then covers the architecture of website.tour.js, how to define tours/tests with steps, and how actions are simulated during tests. Finally, it provides an example of a more complex tutorial case study and discusses testing practices like using the runbot.
The document discusses CRUD (Create, Read, Update, Delete) operations in Odoo. It explains that CRUD is implemented by default through Odoo's ORM framework. It describes the main methods for each CRUD operation: create() for creating records, search(), read(), search_read(), browse() for reading records, write() for updating records, and unlink() for deleting records. For each method it provides a short description and code example of its usage.
It is the presentation on HandyMan for SRS.In slide we discover how to collect requirements from stakeholder,requirements,use case diagram,use case description(some),Activity diagram(only one),and RTM
WebXpress Cash Management System helps companies to keep track of its fleet as per planned schedule. Any deviation from the route will alert supervisor of robbery. GPS tracking helps to keep second by second tap on the fleet.
Set Default Values to Fields in Odoo 15Celine George
There are certain times when some fields will be needing to have a default value loaded into their instance all the time. In Odoo, sometimes we have to set a specific value for a field by default every time we create a record of that model. Set default value for fields have several methods in this slide we discuss some of that methods
How to show warning _ error messages in Odoo 16 Celine George
This document discusses different types of exceptions in Odoo 16 that can be used to show warning or error messages to users. It describes 7 common exceptions: ValidationError, UserError, AccessError, MissingError, AccessDenied, IndirectWarning, and CacheMiss. Each exception is triggered in specific situations, such as validation failures, access right violations, invalid logins, missing or deleted records, and cache misses. The exceptions prevent execution and inform users of issues.
How to Use Constraint and SQL Constraint in Odoo 15Celine George
Odoo helps you to set constraints to variants which we can perform using python and model constraints. In odoo python constraints are specified along with methods. This Slide will provide an insight on python and model constraints in Odoo 15. In python, constraints are defined along with a method decorated with constraints().
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)ElínAnna Jónasdóttir
Odoo's security model uses multi-level access controls to restrict data access through groups, access control lists (ACLs), and rules at both the model and field level. Common vulnerabilities include injection, improper access controls, information leaks, and cross-site scripting. To break Odoo's security, one would try to exploit vulnerabilities like SQL injection, accessing data without proper permissions, or leaking sensitive information through unsafe domain combinations.
Tutorial: Develop an App with the Odoo FrameworkOdoo
This document describes how to build an Odoo module for a plant nursery management system. It covers the module architecture including models, views, menus, and basic CRUD operations using the ORM. It provides examples of model definitions, form and kanban views, search views, computed fields, constraints, and onchange methods. The goal is to manage plants, customers, and orders to track inventory and sales.
Instead of modifying existing views in place, Odoo provides view inheritance where children “extension” views are applied on top of root views and can add or remove content from their parents. An extension view references its parent using the inherit_id field, and instead of a single view, its arch field is composed of any number of XPath elements selecting and altering the content of their parent view.
This document discusses the mis_builder module for Odoo. The module allows users to create customizable financial reports with accounting and operational data. Key features include mixing accounting and operational data, comparing periods, exporting to Excel and PDF, and drilling down on accounting entries. New features in version 9 include improved usability, styling without CSS, auto-expanding accounts, and exporting reports to Excel. The document also provides demo instructions and details the module's roadmap and code repository.
This document provides a tutorial for creating themes and customizing websites built with Odoo CMS. It discusses starting with basic HTML pages, using snippets to build reusable components, adding JavaScript and CSS logic, organizing snippets, and adding customizable options. The goal is to demonstrate how to achieve infinite customizations through templates, inheritance, and overriding variables to create fully customized themes while leveraging the robust Odoo backend.
Odoo Experience 2018 - Inherit from These 10 Mixins to Empower Your AppElínAnna Jónasdóttir
The use case for this presentation will be a plant nursery implementation. During this session we'll present several powerful abstract classes from Odoo
This document discusses the history and evolution of organizational systems, from early calculation systems used in the 1950s-1980s to address single business functions, to later functional systems of the 1970s-1990s that began integrating some departmental systems. It then describes the development of enterprise resource planning (ERP) systems starting in the 1990s to integrate all business functions and processes across an entire organization onto a single computer system. Key benefits of ERP include integrated data sharing and real-time information across the enterprise. The document also notes some challenges of ERP implementation like whether to modify business processes or software.
Odoo now for Business ? How is that possible? Let us research on the topic now. Odoo one of the best Open Source ERP Package intact aided with Business Intelligence. Suitable fir all categories of firms small and big enterprises. Falling in love with Odoo now! Let's see what makes it so love able.Thus Odoo with all these categorized types and modules bring businesses to the front or any application(s) or businesses. So I would encourage and suggest you to use Odoo and its concepts for all possible applications be it small or large to reap revenues in businesses. Odoo equipped with web-based architecture can be accessed by a web browser.
ERP is a category of business management software that integrates core business processes through a common database. ERP provides an integrated view of activities like finance, manufacturing, and human resources. It tracks key resources and business commitments. ERP systems can be installed on-premises or accessed through the cloud.
The document summarizes the story of Odoo, an open-source ERP software. It started as TinyERP in 2005 with 2 employees and has grown significantly over time. The key points are:
- Odoo began as TinyERP and later became OpenERP, aiming to provide an affordable alternative to SAP. It now has over 1000 employees.
- It offers a full suite of business apps and is available in different editions. The software can be used across many industries.
- Odoo follows a multi-tier architecture with presentation, application, and data layers. It uses HTML5, JavaScript, CSS, Python and PostgreSQL.
- Pricing is subscription-based, with options for self-hosting
Odoo Experience 2018 - Visualizing Data in Odoo: How to Create a New ViewElínAnna Jónasdóttir
1. The document discusses how to create a new view in Odoo by walking through the steps of building a basic "Hello World" view.
2. It begins by setting up the basic addon structure and files needed to define the new view type. It then covers importing dependencies, defining the view class, and exporting the view.
3. The document demonstrates adding functionality like fetching and displaying data, using an architectural definition, and extending the view using a JavaScript class.
4. It concludes that creating a new view in Odoo is relatively easy and fast, taking around 130 lines of code, but additional work is still needed for testing, documentation, customization, and validation.
This document discusses how to develop automated tests for websites using website.tour.js. It begins by explaining what automated tests and tutorials are. It then covers the architecture of website.tour.js, how to define tours/tests with steps, and how actions are simulated during tests. Finally, it provides an example of a more complex tutorial case study and discusses testing practices like using the runbot.
The document discusses CRUD (Create, Read, Update, Delete) operations in Odoo. It explains that CRUD is implemented by default through Odoo's ORM framework. It describes the main methods for each CRUD operation: create() for creating records, search(), read(), search_read(), browse() for reading records, write() for updating records, and unlink() for deleting records. For each method it provides a short description and code example of its usage.
It is the presentation on HandyMan for SRS.In slide we discover how to collect requirements from stakeholder,requirements,use case diagram,use case description(some),Activity diagram(only one),and RTM
WebXpress Cash Management System helps companies to keep track of its fleet as per planned schedule. Any deviation from the route will alert supervisor of robbery. GPS tracking helps to keep second by second tap on the fleet.
Scenario OverviewAn airline company is looking for a PRP.docxanhlodge
Scenario Overview
An airline company is looking for a PRPC implementation to administer their Frequent Flyer Program called Sky-Kilometers.
Actors
1. Frequent Flyer Member – Can access and administer their account online, is able to use services such as request missing kilometers, file complaints, etc.
2. Customer Service Representative (CSR) – Acts on the requests from Frequent Flyer Members
3. Benefits Manager – Manages benefits and rules associated with the benefits. They can also run reports and handle all escalations by CSR’s
4. Customer Service Manager – Decides on disciplinary actions for complaints. They can also run reports
Process Overview
Frequent Flyer members should be able to:
View their flight history
Update their contact and personal information File a complaint request
Request missing kilometers
Detailed Requirements
Members of the Sky Kilometers program login to Sky Kilometers’ PRPC application where they can view their member ID, membership status, and total kilometers.
The system assigns the membership status: Silver, Gold or Platinum based on kilometers accumulated.
View recent account activity
The recent account activity view displays the flights flown by the member with the number of kilometers flown as well as the number of kilometers awarded for each flight.
1
Update contact information
The users can update their contact information such as their home and cell phone numbers and email. They can also update their payment information such as their credit card number, expiration date and CVV number.
Enter a missing kilometers request
Enter a request for missing kilometers consisting of origin and destination, and the date. Requests for missing kilometers are sent to a work basket. The Get Next Work functionality is used to retrieve work from the work basket. Requests are prioritized after member status and request date (oldest first).
The requests for missing kilometers are sent to a CSR who either approves or rejects it. The member is notified of the result by email.
Enter a Complaint
Enter a complaint consists of a category and a description. Complaints are categorized in: Crew behavior, cleanliness, flight delays, and other. A complaint is assigned to a CSR who can escalate it to the Benefits Manager, or reject it. The Benefits Manager can reward bonus kilometers for complaints. The Frequent Flyer Member receives an email response to his complaint, unless it was rejected. If the complaint is related to crew behavior an additional process is started in parallel allowing a Customer Service Manager to review the complaint and take disciplinary actions if necessary. The claim is closed when both processes are complete.
2
Complaints submitted are sent to the CSR with least amount of work in the work list for review. In addition, complaints for crew behavior are routed to the Customer Service Manager for.
Routing Jobsite Field Data for Approval and Billing in 4castplus4castplus
Enabling the "Intelligent Jobsite" - This Explainer presentation describes how 4castplus solves a common scenario in construction projects where data is captured from the Jobsite/Field and routed to the office for processing, approval and billing. Using 4castplus, this process is streamlined where all the data is entered and invoiced in the same system.
Site Reliability Engineering (SRE) is a set of principles, practices, and organizational constructs that seek to balance the reliability of a service with the need to continually deliver new features. An error budget is the primary construct used to help balance these seemingly competing goals.
This is an introduction to error budgets and their components: service level indicators (SLIs) and service level objectives (SLOs). We will discuss the art of creating and implementing SLOs.
Attendees will be able to:
• Describe the key concepts, namely, Error Budget, Service Level Indicator (SLIs), and Service Level Objectives (SLOs)
• Recommend actions to take when the error budget is over consumed
• Recommend actions to take when excess error budget remains
In the spirit of DevOps, Error Budgets and SLOs work best when they are agreed to in collaboration with many different constituents across the business. As such, this presentation is appropriate for:
• Product Owners and Product Managers
• Business decision makers
• Developers
• Operators
• And anyone else interested in building and operating services that deliver business and customer value.
apidays LIVE Hong Kong 2021 - API Economy in Financial Services by Siddhant A...apidays
apidays LIVE Hong Kong 2021 - API Ecosystem & Data Interchange
August 25 & 26, 2021
API Economy in Financial Services
Siddhant Agarwal, Developer Relations Lead at Zwitch.io
Presented at COLLABORATE09 conference in Orlando, FL - Implement Oracle R12 Service Contracts Life Cycle Management and build a pathway to higher profit
This document provides instructions for processing supplier returns to debit in Openbravo ERP. The key steps are:
1. A purchase order is created with negative quantities to authorize the return of items.
2. A goods movement record is made to move items to a temporary storage location for returns.
3. A goods receipt with negative quantities records the sending of items back to the supplier.
4. The purchase invoice generated from the goods receipt creates an outstanding payment, indicating the supplier owes a debit amount.
Designed and developed Exclusively for the Political Industry.
Features including an E-Commerce Interface for political vendors, live Video chat capabilities for members, and a new “Raise Your Voice” Point System that combines Advocacy with Technology to leverage Influence like never before.
Join the Harrington Network and use our tools and technology to effectively Connect, Engage, and Leverage Influence in the Political Process.
ONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdfKamal Acharya
Our vision is to make ONLINE CAR SERVICING SYSTEM is needed for the country as technology grows fast in the world. The purpose is to develop this project to provide a better solution to the problems that the customers faces. This website will provide customers to reserve their car services from their home or from office. Customer feels hard to send their car for the service, either they need to reserve using mail system or walk in to send their car for service.
At the end of these project, a prototype of justified system will develop which will provide a solution for the identify problem to improve the organizations revenue and performance. This system will be web based system where it is able to conduct an overall process of online registration and bookings too. The data will be stored in keep as privacy for each customer who has register.
1. The document discusses various SAP FICO interview questions and answers related to topics like IBAN numbers, blocking payments for vendors, correcting payment mistakes, assigning dunning procedures to multiple companies, internal number ranges, configuring company codes and business areas, purchase order lifecycles, and more.
2. It also provides detailed explanations for questions about topics such as GR/IR clearing accounts, advantages of distribution controlling, uploading asset balances mid-year, carrying document balances to the next fiscal year, customizing for vendors that are also customers, and differences between various SAP terms.
3. Many answers reference specific SAP transaction codes useful for the given tasks or concepts.
Payment Routing Module using Kafka StreamsIRJET Journal
This document proposes a payment routing module that uses Kafka Streams for stream processing to improve the efficiency of online payment systems. The routing module filters transaction data, calculates the success and failure rates of different acquirer banks in time windows, and queries this data to route new transactions to acquirers that are currently more reliable based on recent performance. Implementing this routing module could help lower transaction failure rates compared to relying solely on payment gateways for routing decisions. The methodology describes how the module would work using Kafka Streams functionality like tumbling windows to aggregate metrics for each acquirer and make informed routing choices.
L'utilizzo di API basate su eventi è diventato fondamentale per soddisfare la domanda dei clienti e fornire una migliore esperienza utente. Poiché esistono diverse differenze fondamentali tra le API REST e le API asincrone, l'utilizzo di una soluzione di gestione API standard può essere difficile.
La giusta soluzione di gestione delle API dovrebbe combinare le tradizionali funzionalità di gestione delle API con un'architettura basata sugli eventi, per offrire un enorme valore aggiunto e per espandere la portata e l'adozione del business
The document describes the development of an online car rental system, including functional requirements like customer registration and reservations, and non-functional requirements around security, performance, and availability. It outlines use cases, activity diagrams, sequence diagrams, and class diagrams to model the system and interactions between customers, staff, and administrators for registering, booking cars, providing feedback, and managing the rental business.
- The document discusses returns and service functions in SAP for media product sales and distribution, including returns, subsequent deliveries, quantity corrections, collection of unsolds, and goods transfers.
- It describes the Service Cockpit as the central interface for processing service operations. Operations can be grouped and configured according to company needs. Users are assigned authorizations for different operations.
- Service operations are defined and assigned to operation groups in Customizing. Users select an operation group in the Service Cockpit and then choose a service operation to process a request document.
The document discusses various processes for handling customer complaints in SAP, including free of charge subsequent deliveries, returns, credit memo requests, and debit memo requests. It also discusses blocking or rejecting complaints, returning items to vendors, and approving credit memos. The key processes covered are returns, which are used to process complaints when customers send goods back; credit memo requests, which are used when customers request a return but it does not make sense to return the actual product; and debit memo requests, which are used to request a debit from a customer if the original price calculated was too low. The document also discusses configuration options in SAP for controlling complaint processing, such as setting delivery or billing blocks for certain order types used for complaints
The document discusses Oracle's capabilities for procurement of complex services. It defines complex services and outlines Oracle's end-to-end process for handling complex procurements from requesting services to tracking progress and processing payments according to negotiated terms. Key areas covered include creating RFQs, authoring contracts with provisions for advances, payment schedules, and retainage, and integrating supplier confirmations and invoicing with accounting and projects modules. The presentation provides a case study example and highlights benefits of Oracle's functionality for streamlining complex procurement processes.
Digital transformation is the integration of digital technology into all areas of a business, fundamentally changing how you operate and deliver value to customers. It's also a cultural change that requires organizations to continually challenge the status quo, experiment, and get comfortable with failure.
It is essential that you integrate digital technology into all areas of business so that your business can be agile and adapts to changing circumstances. Microservices architecture gives you the agility required to build a digital business, while APIs are the enablers for turning a conventional business into a digital business. In this webinar, we will discuss how an enterprise can adopt an API-first approach for building a digital business leveraging microservices architecture.
We will explain and show the business benefits of:
- An API-first approach for building a digital business
- How microservices enables business agility
- Building and integrating your microservices
- Modernization of your legacy applications
- How to leverage the WSO2 API integration platform to build a digital business.
Watch the webinar on-demand here - https://wso2.com/library/webinars/api-first-integration-for-microservices/
Rex Introduction - Accounting was never so EASY.Rex-Solutions
This document provides an overview and description of the REX ERP application. It describes what ERP is, the significance of ERP in today's competition, key features of the REX ERP application, modules and business scenarios the application supports, and how to get started with the application. The application is a cloud-based ERP solution that allows for integrated management of business processes including accounting, inventory, sales, and reporting. It provides functionality for accounts payable, accounts receivable, general ledger, treasury management and robust reporting capabilities.
Similar to How to Develop your own in App-Purchase Service in Odoo (20)
Timesheet Workshop: The Timesheet App People Love!Odoo
This document introduces an app called Awesome Timesheet that allows users to track their working times, manage employees, work offline anywhere, and report and analyze data. It provides a demonstration of the app's features including tracking product, sales, projects, timesheets, employee management, and reporting on a website.
This document discusses using the Google model-viewer widget to display and interact with 3D models in the GLB format within Odoo. It describes addons developed to integrate 3D product viewing into the backend, frontend, and e-commerce sections of Odoo. The document also provides background on glTF as an open standard for 3D content and the model-viewer library, which is based on three.js and allows easy 3D model embedding on websites. Future steps discussed include expanding AR capabilities on mobile browsers and converting models to the required glTF format.
The document announces an Odoo Experience online event, unveiling the new features of Odoo 14. It promotes sessions on topics like ROI analysis for ERP selection, website design tips, supply chain management, and HRMS. Speakers will provide insights into Odoo's ORM and certification. Attendees can participate in surveys, quizzes and choose their adventure for a digital CEO roleplay game. The event aims to deliver an amazing experience for amazing attendees.
Extending Odoo with a Comprehensive Budgeting and Forecasting CapabilityOdoo
Essatto is a budgeting and forecasting software that integrates with Odoo. It was implemented by Global Car Sales, a company that sells cars globally using Odoo. Essatto streamlined Global Car Sales' forecasting processes by capturing forecasts at a more detailed item level, providing historical sales data to salespeople, automatically consolidating submissions, and producing interactive daily/weekly reports. It also enabled powerful budgeting, data analysis, reporting tailored to different user needs, flexibility to changes, and importing data from multiple sources including Odoo.
Managing multi-channel selling involves selling through multiple online and offline sales channels. This allows sellers to reach more customers but also presents challenges in order management, fulfillment, and inventory management across channels. Odoo and Emipro provide integrated solutions to help sellers manage orders, inventory, products, and reporting across marketplaces, e-commerce platforms, and brick-and-mortar stores in a centralized system. Emipro's solutions sync inventory, orders, and products across channels; integrate with popular marketplaces, shipping carriers, and warehouses; and provide inventory and sales reporting.
The Product Configurator allows for simple setup and flexibility. It can help sales go faster by integrating with a company's website, point of sale systems, and manufacturing processes. The Configurator aims to streamline operations.
Accounting Automation: How Much Money We Saved and How?Odoo
This document discusses the benefits of automating finance and accounting processes. It finds that digitizing and automating invoice processing, purchase-to-pay, and order-to-cash can significantly reduce costs compared to traditional paper-based manual processes. Specific cost savings identified include reducing processing times for invoices from over 25 minutes to just 1-2 minutes. The break-even point for automating typically occurs within 12 months for companies processing over 100 invoices per month. Automation is recommended for companies of all sizes and industries to improve efficiency and cash flow management.
1. Camptocamp developed an open source WMS and SCM ecosystem for Odoo to meet the complex needs of a major medical logistics customer.
2. Key features include integrated procurement, warehouse management, order processing, delivery, and replenishment powered by Odoo applications and custom developments.
3. A case study of the customer's operations highlights the various storage types, equipment, and end-to-end supply chain flows managed through the system.
Transition from a cost to a flow-centric organizationOdoo
The document discusses transitioning from a traditional cost accounting approach to a throughput accounting approach based on the Theory of Constraints. It explains that traditional cost accounting focuses on profit margins by product, but this does not consider system constraints. The Theory of Constraints identifies the constraint in a production system and prioritizes production to maximize throughput. The document provides an example of a clothing company that increases profits by identifying sewing capacity as the constraint and allocating production accordingly. It advocates adopting a demand-driven operating model to further elevate system constraints and improve inventory, lead times, and alignment between strategy and operations.
Synchronization: The Supply Chain Response to Overcome the CrisisOdoo
A Spanish company is developing a new type of solar panel that is more efficient and flexible than traditional panels. The new solar film can be integrated into fabrics, clothing and other materials to generate electricity and does not require direct sunlight to function. The company aims to begin marketing the new solar panels within two years and expects them to be lighter, more durable and lower cost than existing photovoltaic technology.
This document summarizes how a distance university runs its operations using Odoo. It discusses the university's study programs and key metrics like employee and student counts. It then outlines how Odoo provides functionality for expenses, HR, accounting, ticketing, mailing and more. Apps are used for areas like admissions, student/teacher/evaluation portals, and connecting to the learning management system. Business intelligence tools give insights into enrollments. HR modules cover leaves, attendance and expenses while finance manages accounting, budgets and reporting. The university aims to improve recruitment, integrate its website and enhance CRM and marketing in the coming years.
Sodexis is an Odoo partner that specializes in implementing Odoo to help manufacturing and distribution companies improve efficiency. Cecilie Barreto, a business analyst at Sodexis, gave a presentation on implementing purchase order down payments in Odoo, demonstrating how to configure, register, and apply down payments to final invoices and reviewing the corresponding journal entries. The presentation also discussed other apps Sodexis offers to help customers, such as payment processing, EDI connectors, credit management, and inventory availability checking.
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach foodOdoo
The document provides information about Port Cities Group, an Odoo consulting firm that has been helping businesses grow since 1997. It lists Jakub Smolka as the Director of Consulting, with teams located in various countries. Port Cities has implemented Odoo solutions in over 25 projects across multiple countries. The rest of the document outlines the story of 3Sach Food, a client that went through a multi-phase Odoo implementation with 120 employees across 10 stores and 2 kitchen studios over 2 years.
This document describes a customer success story of a San Francisco-based company that provides personal emergency medical alert services. The company was facing challenges with its previous technology stack, including a lack of integrated contact center experience. It implemented a new technology solution from Brainvire using Odoo for CRM, accounting, ecommerce, and integration. This enabled an improved omni-channel customer experience, streamlined subscription payments and billing, quick transformation of business processes and technology, improved integration with third parties, and customization to fit the company's unique business needs and practices. The new solution enhanced processes, automated shipping with third parties, and provided cost effectiveness and real-time communication across the organization.
Preventing User Mistakes by Using Machine LearningOdoo
This document discusses an anomaly detection module for inventory management created by Bista Solutions to prevent user errors in Odoo. It describes common user mistakes like incorrect tagging or data entry that can cause inventory issues. The machine learning module is trained on inventory data patterns to identify anomalies and alert users. This helps prevent damages from inventory mistakes by users in remote locations or from barcode tagging errors. A case study shows it provided better visibility and avoidance of human errors for robust inventory management.
Becoming an Odoo Expert: How to Prepare for the Certification Odoo
Port Cities Group is a consulting firm that has helped businesses grow since 1997. It has implemented Odoo in several countries and has branches in Mexico, Japan, Hong Kong, Vietnam, Malaysia, Singapore, Indonesia, Australia, the UK, and Colombia. The document provides tips for preparing for the Odoo certification exam, including doing homework in the Odoo e-learning system, following business logic through cases, learning Odoo principles like functions and models, and understanding the exam format.
Instant Printing of any Odoo Report or Shipping LabelOdoo
Odoo Direct Printing allows users to print documents like shipping labels and delivery slips directly from Odoo without needing to download files or use additional software. It works with both local and remote Odoo installations via an app and Printnode client. Case studies showed companies saving 70-80% efficiency by automating printing tasks like labels from warehouse apps. The solution integrates subscription plans directly in Odoo and provides a Raspberry Pi installation for easy setup.
Pavel Sodomka discusses his company Simple Hardware's migration from various tools like Vtiger, Hubspot, and Shopify to Odoo. Some key reasons for migrating to Odoo included needing integrated inventory management, manufacturing workflows, and e-commerce capabilities. While the migration process revealed documentation and support issues, Odoo provided a remarkably integrated system at a fair price. Odoo's customizability and growing community were major benefits, but it still lacks some modern features like live chat. With improvements to documentation, support, and responsiveness, Odoo could better compete with alternatives like Hubspot and Shopify.
SATTA MATKA DPBOSS KALYAN MATKA RESULTS KALYAN CHART KALYAN MATKA MATKA RESULT KALYAN MATKA TIPS SATTA MATKA MATKA COM MATKA PANA JODI TODAY BATTA SATKA MATKA PATTI JODI NUMBER MATKA RESULTS MATKA CHART MATKA JODI SATTA COM INDIA SATTA MATKA MATKA TIPS MATKA WAPKA ALL MATKA RESULT LIVE ONLINE MATKA RESULT KALYAN MATKA RESULT DPBOSS MATKA 143 MAIN MATKA KALYAN MATKA RESULTS KALYAN CHART
Enhancing Adoption of AI in Agri-food: IntroductionCor Verdouw
Introduction to the Panel on: Pathways and Challenges: AI-Driven Technology in Agri-Food, AI4Food, University of Guelph
“Enhancing Adoption of AI in Agri-food: a Path Forward”, 18 June 2024
SATTA MATKA DPBOSS KALYAN MATKA RESULTS KALYAN CHART KALYAN MATKA MATKA RESULT KALYAN MATKA TIPS SATTA MATKA MATKA COM MATKA PANA JODI TODAY BATTA SATKA MATKA PATTI JODI NUMBER MATKA RESULTS MATKA CHART MATKA JODI SATTA COM INDIA SATTA MATKA MATKA TIPS MATKA WAPKA ALL MATKA RESULT LIVE ONLINE MATKA RESULT KALYAN MATKA RESULT DPBOSS MATKA 143 MAIN MATKA KALYAN MATKA RESULTS KALYAN CHART INDIA MATKA KALYAN SATTA MATKA 420 INDIAN MATKA SATTA KING MATKA FIX JODI FIX FIX FIX SATTA NAMBAR MATKA INDIA SATTA BATTA
SATTA MATKA DPBOSS KALYAN MATKA RESULTS KALYAN CHART KALYAN MATKA MATKA RESULT KALYAN MATKA TIPS SATTA MATKA MATKA COM MATKA PANA JODI TODAY BATTA SATKA MATKA PATTI JODI NUMBER MATKA RESULTS MATKA CHART MATKA JODI SATTA COM INDIA SATTA MATKA MATKA TIPS MATKA WAPKA ALL MATKA RESULT LIVE ONLINE MATKA RESULT KALYAN MATKA RESULT DPBOSS MATKA 143 MAIN MATKA KALYAN MATKA RESULTS KALYAN CHART
Prescriptive analytics BA4206 Anna University PPTFreelance
Business analysis - Prescriptive analytics Introduction to Prescriptive analytics
Prescriptive Modeling
Non Linear Optimization
Demonstrating Business Performance Improvement
Cover Story - China's Investment Leader - Dr. Alyce SUmsthrill
In World Expo 2010 Shanghai – the most visited Expo in the World History
https://www.britannica.com/event/Expo-Shanghai-2010
China’s official organizer of the Expo, CCPIT (China Council for the Promotion of International Trade https://en.ccpit.org/) has chosen Dr. Alyce Su as the Cover Person with Cover Story, in the Expo’s official magazine distributed throughout the Expo, showcasing China’s New Generation of Leaders to the World.
Presentation by Herman Kienhuis (Curiosity VC) on Investing in AI for ABS Alu...Herman Kienhuis
Presentation by Herman Kienhuis (Curiosity VC) on developments in AI, the venture capital investment landscape and Curiosity VC's approach to investing, at the alumni event of Amsterdam Business School (University of Amsterdam) on June 13, 2024 in Amsterdam.
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Final ank Satta Matka Dpbos Final ank Satta Matta Matka 143 Kalyan Matka Guessing Final Matka Final ank Today Matka 420 Satta Batta Satta 143 Kalyan Chart Main Bazar Chart vip Matka Guessing Dpboss 143 Guessing Kalyan night
Unlocking WhatsApp Marketing with HubSpot: Integrating Messaging into Your Ma...Niswey
50 million companies worldwide leverage WhatsApp as a key marketing channel. You may have considered adding it to your marketing mix, or probably already driving impressive conversions with WhatsApp.
But wait. What happens when you fully integrate your WhatsApp campaigns with HubSpot?
That's exactly what we explored in this session.
We take a look at everything that you need to know in order to deploy effective WhatsApp marketing strategies, and integrate it with your buyer journey in HubSpot. From technical requirements to innovative campaign strategies, to advanced campaign reporting - we discuss all that and more, to leverage WhatsApp for maximum impact. Check out more details about the event here https://events.hubspot.com/events/details/hubspot-new-delhi-presents-unlocking-whatsapp-marketing-with-hubspot-integrating-messaging-into-your-marketing-strategy/
Adani Group's Active Interest In Increasing Its Presence in the Cement Manufa...Adani case
Time and again, the business group has taken up new business ventures, each of which has allowed it to expand its horizons further and reach new heights. Even amidst the Adani CBI Investigation, the firm has always focused on improving its cement business.
The Role of White Label Bookkeeping Services in Supporting the Growth and Sca...YourLegal Accounting
Effective financial management is important for expansion and scalability in the ever-changing US business environment. White Label Bookkeeping services is an innovative solution that is becoming more and more popular among businesses. These services provide a special method for managing financial duties effectively, freeing up companies to concentrate on their main operations and growth plans. We’ll look at how White Label Bookkeeping can help US firms expand and develop in this blog.
Satta matka fixx jodi panna all market dpboss matka guessing fixx panna jodi kalyan and all market game liss cover now 420 matka office mumbai maharashtra india fixx jodi panna
Call me 9040963354
WhatsApp 9040963354
4. The Normal Service Flow
1
External Service
(Third Party Service)
5
3
2
4
transaction flow
Odoo IAP
Service
End
Customers
The Service
Provider
5. The Normal Service Flow
The Client requests a service of some sort.
The Service Provider asks Odoo if there are enough credits for the service in the
Client’s account, and creates a transaction over that amount.
The Service Provider provides the service (either on their own or calling to External
Services).
The Service Provider goes back to Odoo to capture (if the service could be provided)
or cancel (if the service could not be provided) the transaction created at step 2.
Finally, the Service Provider notifies the Client that the service has been rendered,
possibly (depending on the service) displaying or storing its results in the client’s
system.
If everything goes well, the normal flow is the following:
1
2
3
4
5
6. The Normal Service Flow
The Client requests a service of some sort.
The Service Provider asks Odoo if there are enough credits for the service in the
Client’s account, and creates a transaction over that amount.
The Service Provider provides the service (either on their own or calling to External
Services).
The Service Provider goes back to Odoo to capture (if the service could be provided)
or cancel (if the service could not be provided) the transaction created at step 2.
Finally, the Service Provider notifies the Client that the service has been rendered,
possibly (depending on the service) displaying or storing its results in the client’s
system.
If everything goes well, the normal flow is the following:
1
2
3
4
5
7. The Normal Service Flow
The Client requests a service of some sort.
The Service Provider asks Odoo if there are enough credits for the service in the
Client’s account, and creates a transaction over that amount.
The Service Provider provides the service (either on their own or calling to External
Services).
The Service Provider goes back to Odoo to capture (if the service could be provided)
or cancel (if the service could not be provided) the transaction created at step 2.
Finally, the Service Provider notifies the Client that the service has been rendered,
possibly (depending on the service) displaying or storing its results in the client’s
system.
If everything goes well, the normal flow is the following:
1
2
3
4
5
8. The Normal Service Flow
The Client requests a service of some sort.
The Service Provider asks Odoo if there are enough credits for the service in the
Client’s account, and creates a transaction over that amount.
The Service Provider provides the service (either on their own or calling to External
Services).
The Service Provider goes back to Odoo to capture (if the service could be provided)
or cancel (if the service could not be provided) the transaction created at step 2.
Finally, the Service Provider notifies the Client that the service has been rendered,
possibly (depending on the service) displaying or storing its results in the client’s
system.
If everything goes well, the normal flow is the following:
1
2
3
4
5
9. The Normal Service Flow
The Client requests a service of some sort.
The Service Provider asks Odoo if there are enough credits for the service in the
Client’s account, and creates a transaction over that amount.
The Service Provider provides the service (either on their own or calling to External
Services).
The Service Provider goes back to Odoo to capture (if the service could be provided)
or cancel (if the service could not be provided) the transaction created at step 2.
Finally, the Service Provider notifies the Client that the service has been rendered,
possibly (depending on the service) displaying or storing its results in the client’s
system.
If everything goes well, the normal flow is the following:
1
2
3
4
5
15. The Credits
➔ The credits went from integer to float value starting October 2018. Integer
values are still supported for backward compatibilities.
➔ Every service provided through the IAP platform can be used by the
clients with tokens or credits. The credits are an float unit and their
monetary value depends on the service and is decided by the provider.
◆ Examples of credit and consumption:
● for a sms service : 1 credit = 1 sms
● for an ad service : 10 credit = 100 Char Ad or
● for a postage service : 1 credit = 1 post stamp.
➔ The value of the credits is fixed with the help of prepaid credit packs that the
clients can buy on iap.odoo.com (see Packs).
17. ➔ The second step is to develop an Odoo App which clients can install in
their Odoo instance and through which they can request the services
you provide.
➔ First, we will create an odoo module depending on iap. IAP is a
standard from V11 onwards and the dependency ensures a local account
is properly set up and we will have access to some necessary views and
useful helpers.
➔ Add client side business logic that will call service side API that provides
the desired service.
➔ There are no specific requirement of protocol and services on service
and client side.
18. ➔ To make implementation easy, IAP provides a iap_jsonrpc() helper to
call a JSON-RPC2 endpoint on an IAP service side Odoo instance and
transparently re-raise related Odoo exceptions.
➔ Each transaction called over API will require client account token.
➔ The token of the current client that is provided by the iap.account
model’s account_token field. You can retrieve the account for your
service by calling env['iap.account'].get("service_name") where
"service_name" is the name of the service registered under IAP
Account.
19. Odoo IAP Helpers
iap.tools.iap_tools.iap_capture
➔ JSON-RPC2 wrapper to call service
json endpoint implemented using
Odoo IAP Services
➔ iap_jsonrpc() takes care of re-raising
InsufficientCreditError for you.
from odoo.addons.iap.tools import iap_tools
def fetch_cur_rate(self):
user_token = self.env['iap.account'].get('live_cur_ex_rate')
service_endpoint =
self.env['ir.config_parameter'].sudo().get_param('live_cur_ex_rate.endpoint',
self._default_live_cur_ex_rate)
for move in self:
if move.company_currency_id == move.currency_id:
raise UserError(_('Invoice currency and company currency is same, '
'this document do not require exchange rates.'))
params = {
'user_token': user_token.account_token,
'request_res_id': '%s,%s'%(move._name, move.id),
'from_cur': move.company_currency_id.name,
'to_cur': move.currency_id.name,
}
response = iap_tools.iap_jsonrpc(service_endpoint + '/curex/v1/convert',
params=params)
result = response.get('result', 0)
if not result:
raise UserError(_('Could not get the result please try again later. '
'No credit was consumed for this request.'))
move.write({
'iap_curex_rate': result,
'iap_curex_rate_dt': fields.Datetime.now(),
})
credit = self.env['iap.account'].get_credits('live_cur_ex_rate')
credit_url = self.env['iap.account'].get_credits_url('live_cur_ex_rate')
return {'type': 'ir.actions.act_window_close'}
21. Capture (/iap/1/capture)
Authorize (/iap/1/authorize)
Cancel /iap/1/authorize
Verifies that the user’s account has at least asked credit available and creates a
hold (pending transaction) on that amount.
Confirms the specified transaction, transferring the reserved credits from the user’s
account to the service provider’s.
Cancels the specified transaction, releasing the hold on the user’s credits.
29. ➔ By default, iap_charge contacts the production IAP endpoint,
◆ https://iap.odoo.com
➔ While developing and testing your service you may want to point it
towards the development IAP endpoint
◆ https://iap-sandbox.odoo.com
➔ To do so, set the iap.endpoint config parameter in your service Odoo:
in debug/developer mode
● Setting ‣ Technical ‣ Parameters ‣ System Parameters
◆ just define an entry for the key iap.endpoint with value
https://iap-sandbox.odoo.com, if none already exists.
30. ➔ By default, iap_charge contacts the production IAP endpoint,
◆ https://iap.odoo.com
➔ While developing and testing your service you may want to point it
towards the development IAP endpoint
◆ https://iap-sandbox.odoo.com
➔ To do so, set the iap.endpoint config parameter in your service Odoo:
in debug/developer mode
● Setting ‣ Technical ‣ Parameters ‣ System Parameters
◆ just define an entry for the key iap.endpoint with value
https://iap-sandbox.odoo.com, if none already exists.
31. ➔ By default, iap_charge contacts the production IAP endpoint,
◆ https://iap.odoo.com
➔ While developing and testing your service you may want to point it
towards the development IAP endpoint
◆ https://iap-sandbox.odoo.com
➔ To do so, set the iap.endpoint config parameter in your service Odoo:
in debug/developer mode
● Setting ‣ Technical ‣ Parameters ‣ System Parameters
◆ just define an entry for the key iap.endpoint with value
https://iap-sandbox.odoo.com, if none already exists.
In-app purchases allow service providers to distribute their applications for free and charge users microtransaction fee when user initiate the services offered by the application. IAP credit are sold in packs and customer can buy credit pack as they need.
Place your own screenshot
Select screenshot
Click ‘Replace Image’
Select ‘Upload from computer’ from dropdown menu
Choose photo
Adjust accordingly, without distorting (stretching) photo
Place your own screenshot
Select screenshot
Click ‘Replace Image’
Select ‘Upload from computer’ from dropdown menu
Choose photo
Adjust accordingly, without distorting (stretching) photo
Place your own screenshot
Select screenshot
Click ‘Replace Image’
Select ‘Upload from computer’ from dropdown menu
Choose photo
Adjust accordingly, without distorting (stretching) photo
The credits went from integer to float value starting October 2018. Integer values are still supported for backward compatibilities.
Every service provided through the IAP platform can be used by the clients with tokens or credits. The credits are an float unit and their monetary value depends on the service and is decided by the provider.
Examples of credit and consumption:
for a sms service : 1 credit = 1 sms
for an ad service : 10 credit = 100 Char Ad or
for a postage service : 1 credit = 1 post stamp.
The value of the credits is fixed with the help of prepaid credit packs that the clients can buy on iap.odoo.com (see Packs).
The second step is to develop an Odoo App which clients can install in their Odoo instance and through which they can request the services you provide.
First, we will create an odoo module depending on iap. IAP is a standard from V11 onwards and the dependency ensures a local account is properly set up and we will have access to some necessary views and useful helpers.
Add client side business logic that will call service side API that provides the desired service.
There are no specific requirement of protocol and services on service and client side.
To make implementation easy, IAP provides a iap_jsonrpc() helper to call a JSON-RPC2 endpoint on an IAP service side Odoo instance and transparently re-raise related Odoo exceptions.
Each transaction called over API will require client account token.
The token of the current client that is provided by the iap.account model’s account_token field. You can retrieve the account for your service by calling env['iap.account'].get("service_name") where "service_name" is the name of the service registered under IAP Account.
Authorize
Verifies that the user’s account has at least asked credit available and creates a hold (pending transaction) on that amount.
Any amount currently on hold by a pending transaction is considered unavailable to further authorize calls.
Returns a `TransactionToken` identifying the pending transaction which can be used to capture (confirm) or cancel said transaction.
Capture
Confirms the specified transaction, transferring the reserved credits from the user’s account to the service provider’s.
Capture calls are idempotent: performing capture calls on an already captured transaction has no further effect.
Cancel
Cancels the specified transaction, releasing the hold on the user’s credits.
Cancel calls are idempotent: performing capture calls on an already cancelled transaction has no further effect.
A context manager for authorizing and automatically capturing or cancelling transactions for use in the backend/proxy.
Works much like e.g. a cursor context manager:
immediately authorizes a transaction with the specified parameters;
executes the with body;
if the body executes in full without error, captures the transaction;
otherwise cancels it.
Will authorize asked credit.
Will capture the amount credit on the given transaction.