To reproduce
Start a server (or use a LAN world and follow the following steps with a second account)
Join the server
Spawn a villager zombie
Cure it
Give it a profession
Trade with it until it is completely locked
Let it restock
The prices should now be slightly increased
→ ❌ When trading with the villager, it will take more items from you than displayed in the GUI
Original description
I had a one emerald villager now he still shows that trade but glitches out when i try to trade with him. I was able to get ~6 books out of him and after that i can grab the book out of the menu and then it disappears. Soon after I leave the GUI my emerald/book comes back in my inventory. Same with the same villager's paper trade. Some times he takes my paper, sometimes they just come back to my inv. after i leave gui.
I think the GUI is just Not updating correctly to what trade the villager has available.
UPDATE: I found that the villager actually knows how much emerald it wants for each item. when i put 19 paper in like the GUI suggested, the emerald shows up on the right, but it disappears if you try to grab it. However if I put around 40 paper in, he will actually give you the emerald. Same with the mending book situation, where he actually wants 2 emerald instead of the 1 listed on GUI.
Related issues
is duplicated by
Attachments
Comments

Duplicate of MC-148454

I don't think this is this resolved. Seem to be server only since i cannot replicate in single player.
Steps to replicate:
1. Find an igloo with a basement
2. Cure the zombie villager in there
3. give him a profession
4. Trade with him and lock his trade for the day
5. Keep trading until he raises prices.
6. There are no changes on the GUI about the change, but if you give him say a stack paper, he will take more paper than displayed for the emerald.
Indeed. That issue still seems to exist, but only if you have cured the villager and traded enough with it so that it increases its prices again

I have encountered this issue in 1.14.2
I've heard in duplicates of this ticket that this does not only happen with villagers that are cured zombie villagers. However, that seems to be one consistent way to reproduce it. There probably are other ways as well! Further testing is definitely needed here and would be appreciated a lot!

Ok. Tested this bug and found out that demand entitydata is not counted in price while playing online.
Easy way to notice it is making a villager with job. Then opening game to lan and setting high demand of first trade:
/data modify entity @e[type=minecraft:villager,limit=1,distance=..5] Offers.Recipes[0].demand set value 20
For main account price will be rised, for entering second account price will be default. When you trade with any of both accounts, it will take higher amount of items.

I (think I) see this too on the lastest available verson at the time of my comment ( 1.14.3). We have no dedi-server, but a player who is acting as server, started as single, opened to lan. When I join as a second player, I see wrong/default prices, but need to pay the prices that the 1st / 'server' player sees.
These are all 'normal' villagers, no cured zombies. (Well, we abducted 2 villagers and started a new village far, far away, and all the villagers are offspring of these 2 orginal ones.) We have very frequently traded with the villagers we observe the problem with, before we realized that something was, indeed, wrong. (not extensively tested with other villagers). Savegame can be provided if that is helpful, or debugged through other means if helpful.
If this is a different bug, let me know and I'll create a new one or append my comment elsewhere.

1.14.3 affected as Laurens mentioned.

Is this still an issue on 1.14.4-pre3 or later?

Never mind, got a repro.

@slicedlime, easiest repro is to use this on server and trade as non-host:
/data modify entity @e[type=minecraft:villager,limit=1,distance=..5] Offers.Recipes[0].demand set value 20
Thank you for taking care of those bugs.