Files
Lee Hanken 7c8efd2228 Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:54:13 +00:00

626 lines
26 KiB
Plaintext

Episode: 4467
Title: HPR4467: A small Odoo usage intro and a larger technical bit
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4467/hpr4467.mp3
Transcribed: 2025-10-26 01:00:54
---
This is Hacker Public Radio Episode 4467 for Tuesday the 16th of September 2025.
Today's show is entitled, A Small Odo Usage Intro and a Larger Technical Bit.
It is part of the series business applications.
It is hosted by Jaron Baton and is about 39 minutes long.
It carries a clean flag.
The summary is, if you are into tech, this will keep you
busy for the next few years.
Hello, everybody.
This is Jaron Baton again with the third episode
where I talk about the Odo Enterprise Resource Planning Application.
Specifically, the Community Edition version,
so the one that's completely free to use.
And it's got all the lot of functionality.
If you know a couple of tricks,
which I will discuss in several episodes.
So this is the third one.
I think there will be at least a fourth one.
And well, we'll see how we go from there, right?
First, I got some lovely questions as comments
in comments on my first episode.
So I would like to start with answering those.
So the first comment is from user Archers 72, who writes,
hello Jaron, my wife has a side crafting business.
And this is an interesting application
that I will most likely self-host solely
for the inventory management aspect.
Is there an option to upload a photo of each item in inventory?
Well, there is an inventory module
who is there for the functionality of keeping track
of your stock.
And if you have one or more warehouses
and within the warehouses you have aisles
and within an aisle you have levels.
And where product can be found.
But I think what you're talking about
is a photo of a separate item.
And a separate item would be a product.
So can you attach a photo to a product?
Yes, you can.
And I believe you can even attach several.
I don't do that daily.
So, but yeah, if you look at product information,
you can at least upload a photo of each item.
Okay, then the next question is posted by Jason Lewis,
who says, migrating from net suite.
Hi, thanks for the podcast.
So interesting and I can't wait for more.
My business is currently in net suite
and I'd love to hear about experiences,
migrating businesses from net suite to O2.
Well, I'm sorry, I don't have myself
any experience doing that.
No doubt there will be O2 business partners
who have that experience.
If you go to the o2.com website
and then to the partner page,
you can filter on the country where you live in
and no doubt you will be able to find a partner.
But you'll low and behold, it won't be free.
But yeah, okay, so comment number three,
O2, new to me by Henrik Henren.
I was interesting to learn this software
exists for business purposes
and about their own business model for the software itself.
Ah, okay, no question about a comment.
Thank you so much, Henrik.
And wow, I hope you found it informational and helpful.
So having done that, let's go forward
and let's dive into a little bit of technical usage.
I guess you have installed this in your own virtual machine.
You've got it up and running.
And what's next, right?
So in the upper left corner of the screen
is sort of a squareish icon consisting of nine little squares
and that's the main menu.
And if you click on that,
you will see a list of the apps that you have installed.
If you would like to install more apps,
you simply go to the apps app
and you select, for instance, sales.
You enter sales in the search bar.
You get a filtering of all the list of applications.
You get only the only view of see.
You only see the sales information.
Now, there are three little dots on the upper right corner
of that sales box.
And one of them is module info.
And module info will tell you a little bit about
who made this app and what its prime use.
So for instance, the sales app has the subtitle
from quotations to invoices.
So I guess that says all.
And there is a button activated all the more.
And if you press on activate,
then this app will become enabled.
So before that, it was already on your system,
the app, the program code.
It just was not enabled in the database you're currently using.
So if you press activate,
it will take some time to make mutations in your database
like adding tables, adding fields that are needed for this app.
And at some point, you will be presented with another screen,
which tells you that the installation was finished.
And then from the main menu,
you can go to the sales app and start making quotations.
And what's the normal process of sales?
Well, you have a list of contacts.
You have first a quotation.
So a quotation consists of your offering.
Or do you offer to the client?
So the client being one of your contacts,
you enter, you select the products that you defined earlier.
At some point, you say, well, this is what I like to offer.
I had a number of products for every individual product.
The taxes that you need to apply to those are very country-specific.
But for instance, in the Netherlands,
I know it's a small country,
but on average, standard, 21% for most products,
except for the basic life stuff, which is 9%, I believe.
Anyway, so let's say a bike or a table or a chair,
they all come with 21% VAT value added tax.
And so you select the correct VAT percentage in the text box.
And that's then added to the invoice amount
of the order and the quotation amount.
And when you're done, you say, well, this is it.
This is my quotation.
And you send it to the client.
You can download the PDF and email the client.
And at some point, the client will say,
oh, I agree on this quotation.
And maybe he'll put a signature on the quotation
and then you finalize the quotation, say,
well, now it's definitely an order.
And an order is an official contract sort of in the system,
where I say, okay, now I have to fulfill this order.
And so you send the products or services to the client.
And after that's done, you can send them the invoice
which they should pay.
In a perfect world, every invoice gets paid.
In the reality, almost every invoice gets paid.
So that's a simple, basic sales process.
Let me try this on my end one second.
Okay, so you've installed the sales app
and let's start from there.
So first, you click on new
and you see next to the new button,
there's this quotations text.
So this is the first quotation.
So you go to the customer, drop down,
you click on any customer that's in your system.
The invoice address is probably the same as the customer.
Sometimes it isn't.
In the art case where somebody else picks up the tab,
the delivery address can also be different
from the customer invoicing address.
There is a quotation date, which is default on today.
You can use price lists,
but let's leave it at that for the moment
and you have your payment terms.
If you don't, select payment terms,
then as soon as the order is finalized,
then the client is invoiced immediately.
And this can raise some eyebrows
because they've just put their signature on their quotation.
They send it off to you and they are confident
that you will handle this in a nice professional manner.
And then at the same moment that you finalize
this quotation as being an order,
they are being invoiced.
So that's not nice.
So usually you handle the payment terms,
you 30 days or 15 days.
Anyway, below that are the order lines.
So you click on add a product, then select a product
which makes the unit price already be fulfilled
with the standard price which you can adjust if you like.
Let's say you want to deliver something
not for 140 but for 120 dollars.
The Texas, well I said 21%.
So I enter the two.
So I get a filter in the Texas of the 21 options.
And when I'm done, I click on the cloud icon
on the top of the screen making a manual safe.
Now, then the button that's purple is sent by email
and that's because I can send this quotation to the client.
So I click on send by email and the system now
will fill an email template, will attach the quotation.
I can click on that attachment and I can see the quotation
and it looks, to me it looks nice enough
and I can then send it to the client.
At some time the client will sign this quotation
and I click on the confirm button which makes the quotation
becoming an order.
So now it's an official order, it's got a sales order
and I have to fulfill the sales order.
At some point I can click on the create invoice
and I can select, well, do I want to make a regular invoice?
Do I want to make a down payment invoice?
That's something that you can do when it evolves
large amounts of money and you're starting business.
You could say, listen, I want a down payment
as a sort of a guarantee.
It got me out of a pickle a couple of times in the past.
So that could be smart thinking
and that down payment can be a percentage
or you can do a fixed amount down payment.
But I just select a regular invoice
and I click on create draft and I get the error,
I can't invoice because there's nothing left
to nothing yet to be invoice
because I haven't said that the material has been delivered.
So I go to delivery, validate, confirm.
So everything has been delivered.
I go back to my sales order, try again, create draft
and now I do get a draft invoice
that I can, even if I go to the gear,
I can at the top, I can already download the PDF
without a payment.
So I can see what the draft invoice would look like
and if I think, well, yeah, let's make this a final invoice,
I click on the confirm button
and then the customer invoice has an official,
has become an official invoice
and it means it's got an invoice number.
And when it's an official invoice,
that's where up until then it's all fun and games
from a text point of view
but when you have a final invoice,
that's something that needs to be handled
from an account to see perspective.
So you've got to make sure that it gets paid
if the company goes belly up
and they don't, they never pay you,
you can at some point or your accountant
can at some point say, well, you know,
we did make an invoice but the client went belly up.
So I never got paid and then the accountant can make this
sort of roll back this transaction
but you have already paid your VAT
so that will then be returned to you also in the end
but it will take some time.
Not, well, I know text apart was a slow but that's not what I mean.
It's just that it will take some time
for the complete accountancy process
to finalize this in the case that you didn't get paid.
If you do get paid, well, all's well, you got paid
and hopefully you got paid enough to pay your rent
or buy some food or pay the schools of your kids.
So this is the basics of doing business.
One of the rules of business is simple,
buy cheap, sell pricey.
So because the difference between those two,
that's where you've got to make a living.
It's not overly complicated.
For a couple of years, I did consult
on smaller, medium enterprises
from when I was employed at a government agency
whose task it was to stimulate innovation
within the small and medium enterprise market in my country.
And I can tell you,
entrepreneurs don't have to be the sharpest tool in the box.
On average, they are not overly,
they are just entrepreneurial,
which means they dare to go out and sell their products.
But you don't have to be extra intelligence, you don't.
You should have what's called a good hat on your shoulders
and don't give everything away for free
because then you go belly up.
So if somebody asks for a discount,
one tip I can give you is ask him or her,
how much discount should I give you
to guarantee that you give me the order?
And in that way, you don't give too much discount.
They have to ask you for a percentage
and you can take your time to think about it.
You don't have to decide it on the spot.
You can also say, okay,
let me think about it.
Why should I give you that?
Is there more business coming from you?
And if they say yes, then you can say, okay,
what are we talking about?
How much revenue, how much turnover will you produce
for my business in this year?
And if they come up with a very high number,
then you can also say, well, you know what?
Let's discuss this at the end of the year.
And I guarantee you, if you make that turnover,
I guarantee you that I will give you
a discount percentage of X.
But I won't, and I will pay that back to you
at that time, which makes it a low risk move on your part
because if they don't, you don't have to pay them.
The, the, the,
the, one second, I've got a dog that needs something.
So I'm back, the dog is also in the back in the house.
So it's a low risk on your end,
and you only give the discount
after they've realized a specific amount of turnover
on your part, which would be nice.
And okay.
Now,
play around with the system and not only install
sales, but also install email marketing and CRM.
Email marketing is for spamming other people.
I know, I know how you think about spam,
but if you set aside your emotions about this,
think of it from the perspective of an entrepreneur.
He wants to contact his clients and inform them
that he exists and that he has an interesting proposal.
On the other hand, that also gives some,
what's the word for it, responsibility to the entrepreneur
to only inform his clients of interesting stuff
and don't spam them every week.
Oh, look, we still got the same product.
Yeah, I know, right?
So because that will probably work in not,
not in a way they would like it to work.
CRM is the customer relation management,
and that's, it's got a couple of columns,
new qualified proposition and one.
And that's where you can keep track of potential clients.
And a new lead is somebody who is very likely
to ask for a quotation.
So it's not a quotation yet.
It's, it's, it's probably going to ask for a quotation.
In the CRM module in the configuration,
you can also enable the leads phase.
And the leads phase is before this,
and you can either switch his own order of.
So a leads is just somebody, you think he's probably
going to ask for a quotation somewhere in the future,
right?
It's just depends on where you will start tracking
your potential clients.
And if you enter a new lead,
it's, you can, you just guesstimate
how much turnover they will generate.
And now this is a funny mathematical trick.
What you do is you have talked to the client,
you have some idea of his size,
you have some idea of what he will want from you.
And if it's a big project or small project,
and you just think of a bullpark figure
that if all went well, that's the order you will get.
So that's the amount of money that you will place
into the field with
expected revenue.
And next to expected revenue are three stars,
and you can select one, two or three.
And these stars all separately
correspond to a specific percentage value.
So one star is, well, you can configure that,
but let's say one star is 33% sure that you will get this.
Two stars, well, you're 66% sure that you'll get it,
and you guessed it, three stars, 99% sure that you'll get it.
Now, you can also estimate at what date
they will probably decide on this.
As in, well, he's going to buy,
I don't know, let's say chairs,
he's going to buy a thousand chairs for me
in three months time.
So it would be interesting to
to add the date, which I can't find at the moment,
but okay, okay.
So I can't find this functionality, you know, do,
but let me hear me out.
If you have an estimated bullpark figure
and you have a percentage
and you have a probable closing date of the deal,
and you put that into, let's say, a spreadsheet.
It should be or do, but for the moment,
let's just play with this concept.
If you do that for every opportunity that you have,
no, not all opportunities will become a deal.
Some you will lose, some you will win.
But on average, the estimated amount multiplied
by the percentage on that specific date
will approximately be roughly, very roughly,
be the amount of money that you actually realize.
And this, if you do this consequently,
it will give you a sales pipeline.
It will show you in advance, in a nice graph,
if you put it into a temporal graph.
It will show you a nice graph
where you can see how your pipeline is developing.
Should you try to get more leads or less leads
because you can't handle all the work.
And, well, I can't find that specific functionality,
but I learned this from a sales guy once
and this trick has served me well.
Okay, so there are a lot of applications,
there's a lot of stuff to do.
And when the invoicing is done and you're getting paid,
then you go to accounting and in accounting,
you will see your customer invoices.
You will see your vendor bills,
which are the bills that you need to pay.
And you see the amount of money that you have
in your bank account.
And bank accounts can go, you can handle bank accounts
in two ways, you define them of course first in the system.
You can download a transaction file from the bank,
just make sure that you never overlap the periods
that you download because sometimes some import functionality
do cannot distinguish between those
and then you have two transactions in the system
where there should be one.
So, if you keep this in sync with the periods
that you have to pay your VAT, then you're pretty safe.
Just make that a habit.
The other option is that you connect with online system.
There is, for instance, Ponto by Isabelle, I believe,
in Europe and they will connect to your bank account
and you have to authorize that.
And then they will get the transactions from your bank
and enter that into O2.
And then what comes next is the reconciliation.
And the reconciliation is matching the transactions
of your bank with your customer invoices and vendor bills.
And you do that to make sure that you haven't missed anything
because sometimes you buy stuff which should be a vendor bill
but you were busy and you forgot to print out a vendor bill
or whatever reason.
And then there is a transaction in your bank
but there's no vendor bill yet in the system.
So, you will find that transaction
and then it will remind you of, oh yeah, that's right.
I should have entered a vendor bill.
So, you enter the vendor bill after the fact in O2
and after that's entered and finalized also,
you can match that to your bank transaction.
Okay.
Another thing that's so far,
it's pretty relatively easy, right?
You install the apps that you're interested in,
you find a configuration tab in the menu on the right
and you enter a configuration stuff and that's it.
Well, not exactly.
That's it from a user perspective
but now we are going to talk to each other
as an administrator of the system.
And the administrator, like a root account, has godly powers.
And you know what they say about root and god,
the difference, god will forgive your mistakes.
Well, at least that's what they told me,
or always told me.
And with root, it's no such a joy.
Anyway, go to the settings app
and scroll all the way down, all the way down the screen
and there you will find developer tools section.
You have three activate links, activate developer mode
and then with asset and with test assets, tests, assets.
And we're going to discuss the first one.
Activate the developer mode because if you do that,
the only thing that changes is the URL,
gets added, question mark, Dburg is one.
That's the only difference.
But Dburg is one, also changes the menu.
Because if you go to the settings page,
before you did that, you have general settings,
users and companies, translations,
gamification tools and that's it.
And with the Dburg is one,
you also get the technical menu
and that's where the goodies are for us techies.
If you click on technical, you get a long list of stuff.
And this is where you can really screw up your system.
So no, what you're doing, I'm telling you this.
Now in advance, please be very, very careful.
This is not for the faint of heart.
This is not for the beginner, but it's just to tell you
where you can find everything there is to know about ODO.
For instance, date ranges.
Date ranges are very nice thing to have
when you calculate the VAT that you have to pay
because that's on a date range.
So you can define here the date range.
Maybe you need to pay VAT every quarter.
Well, then you make date ranges for every single quarter.
And then you can select that later on
when you say, okay, I'm going to make a VAT document
and then you can pre-select the date range
that matches and suits your business.
And I was even a generate date range.
So you can do this for a whole year, maybe two years or five years.
Well, you can always throw them away later
if you haven't used them yet.
But there's also emails, there's email templates.
Now email templates, that's where the emails come from
that you saw earlier when you were sending
an invoice or a quotation to a client.
So if I go to the base template and I search for invoice,
I've got an invoice template,
invoice colon sending,
applies to a journal entry template description,
sent to customers with the invoices in attachment.
And then you see deer and then a blue block
with the name and the company.
Here is your and then in a gray block invoice.
And then this is of course translated to the language of choice.
So you don't have one, but you have a template
for every single language.
So know what you're doing and this is, you can edit it,
but there is a programming language in there.
And with if and then and et cetera, et cetera, et cetera.
For instance, if you click on after the deer on the client name
on the blue in the blue box, it will pop up on top of it.
If colon object.partner underscore id.parent underscore id.
So that's what's being shown there.
So that's how the data comes from the system
into your nice email template, email,
sorry, not template, but email when you are sending an invoice.
So the good news is that you can make backups of your databases
before you start messing around with this.
So do that and be absolutely sure that you don't make any mistakes
because if you want a need to hire a professional,
that's where the money starts piling up.
Anyway, so one other thing that's maybe of interest
to see is not discuss date range activities, email,
phone mass actions, there's even the complete user
in the face is described in the database.
So menu items, fuse fields, et cetera, et cetera.
It's it's if you dive into this,
it's a really complicated piece of programming.
There are sequences and sequences are, for instance,
the invoice number because they need to be consecutive
and they need to increment with one
because those are on average the legal requirements.
So that's the way they do this.
Now, I can't find what I was looking for here.
Let's go to settings and look for euro
because I'm in euro country.
And now currency, currency, yeah, invoicing,
in the settings app, in the tab of the section invoicing,
there is a subsection, currencies,
and there you can select your currency,
which in my case now says euro of euro,
but below that is a link to currencies.
Now, let's click on that and then you will see,
in my case, two currencies enabled, euro and dollar.
But if you can do it with only one enabled currency,
that will be very nice.
Now, click on, in my case, the euro, it's active
and the reason I said is that in the right second column
to the right at the bottom there is this display symbol position
and it says after the amount,
but that depends on your country
because there are countries where they say,
okay, I say 10 euro, so the euro symbol comes after the money.
After the number, but in the Netherlands, for instance,
it's before, so you say, you say 10 euros,
but you write euro 10, I know, let's not go there.
So you change that to before or after, save it,
and then automatically all your invoices,
all your quotations will show the euro sign
or the currency sign before or after the amount.
So I guess this was a sort of a little technical dive into this.
I'll be off to the OCA days,
the O2 community association days,
they are next week, Monday to Wednesday,
and Thursday to Saturday,
they do experience days from the O2 company in Brussels
in Belgium, and I'll be there as well.
And we are even going to hand out my latest book,
which is not officially released yet,
but it's, I updated my O212 book to O218,
so I replaced all the screenshots,
and I think I corrected all the text,
updated all the text I needed.
But I, well, I'm pretty critical,
so there can be a little bug here and there,
but not that I know, but I'm guessing,
well, nobody's perfect, right?
Anyway, we're handing a few of them out to potential clients,
so just come over and find me at,
oh, yeah, where is that exactly?
Oh, that will be nice to know.
One second, one second, one second.
I'm going to pause this for a second,
so I can take my time.
Yep, found it.
So I am in booth S as in Simon, number 10,
in whole number 11.
So all the booths of global staffing support,
yeah, it's not my company,
but that we're working together,
so they're booths and I'm there,
together with my good friend Christopher.
And that win, let's not forget that win,
otherwise, he will never forgive me, probably.
Okay, so I hope you find this helpful again.
If you have more questions, just put them in the comments.
And after in a couple of weeks,
I will talk to you in the fourth episode
and we are going to add additional add-ons
that are not yet in the standard auto distribution.
And very good reasons for doing so,
and it's a little bit complicated,
but I'll talk you through it, right?
Okay, so talk to you then.
If you have any questions, remarks, whatever,
put them in the comments.
I'd love to hear from you because it's a real boost
to see people actually listen to stuff that I make.
And well, I hope you have a lovely day, okay?
Bye-bye.
You have been listening to Hacker Public Radio
at Hacker Public Radio, does work.
Today's show was contributed by a HBR listener
like yourself.
If you ever thought of recording a podcast,
you click on our contribute link
to find out how easy it really is.
Hosting for HBR has been kindly provided by
an honesthost.com, the internet archive, and our sings.net.
On the Sadois status, today's show is released
under Creative Commons Attribution 4.0 International License.