[{"data":1,"prerenderedAt":1051},["ShallowReactive",2],{"blog-article-en-ai-document-processing-invoices-orders":3,"blog-related-en-ai-document-processing-invoices-orders":734},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"seoTitle":10,"locale":7,"translationSlug":11,"date":12,"updated":13,"image":14,"author":15,"tags":18,"takeaways":23,"faq":29,"body":48,"_type":728,"_id":729,"_source":730,"_file":731,"_stem":732,"_extension":733},"/blog/ai-document-processing-invoices-orders","blog",false,"en","Invoices, Purchase Orders and Delivery Notes in PDF: How AI Reads Them and Posts Them to the ERP Without Silent Errors","How AI reads supplier invoices, purchase orders and delivery notes from email, checks them against the ERP and leaves only exceptions to your team.","AI Invoice and Order Processing into Your ERP","ia-processamento-documentos-faturas-encomendas","2026-09-19","2026-11-14","/images/blog/ia-processamento-documentos.jpg",{"name":16,"role":17},"Pedro Santos","Principal Software Architect",[19,20,21,22],"Automation","Artificial Intelligence","ERP","Costs & Decision",[24,25,26,27,28],"Reading the document is no longer the hard problem: language models extract data from layouts they have never seen. The real value of a project lies in checking what was read against the ERP before anything gets posted.","The confidence that matters is not the one the model reports about itself, it is the one that comes from cross-checks: the tax number exists and matches the supplier record, the lines add up to the total, the price matches the purchase order.","A good system does not try to process everything on its own. It routes whatever fails the checks to an exceptions queue, with the PDF next to the fields it read, and only earns autonomy supplier by supplier as it builds up a track record.","It pays off when there are hundreds of documents a month in many different formats. With few documents, a single format or suppliers who already send structured invoices, there are simpler and cheaper routes.","A first process in production, for example supplier invoices posted to the ERP, typically sits between €7,500 and €15,000; several linked document types push that to between €15,000 and €35,000.",[30,33,36,39,42,45],{"q":31,"a":32},"What is the difference between traditional OCR and AI extraction?","Traditional OCR turns the image into text and relies on templates set up per supplier to know where each field sits; when the layout changes, it stops working. Extraction with language models understands the document by its content, so it copes with new formats without any prior setup. The trade-off is that it needs validation around it to catch the mistakes it makes with complete conviction.",{"q":34,"a":35},"Does the AI post invoices straight into the ERP?","It can, but we do not recommend starting that way. At first, documents enter the ERP as drafts or pending approval, and only suppliers and document types with a consistent record of correct readings move to direct posting. Autonomy is a management decision, made on the basis of the system's own data.",{"q":37,"a":38},"Does it work with Primavera, PHC, SAP or Sage?","Yes, with different levels of effort. These systems have documented integration options, but what is actually available depends on the version, the licensing and whoever manages the installation. It is one of the first things we confirm during the diagnosis, because it weighs more on the timeline than the AI part does.",{"q":40,"a":41},"Can documents containing personal data be processed by an AI model?","Yes, with the right architecture: model providers processing data within the European Union, a data processing agreement, a guarantee that data is not used for training and minimal retention on the provider's side. We do not give legal advice, but we handle these choices during solution design, with the data protection officer involved from the start.",{"q":43,"a":44},"With structured e-invoicing on the way, does this kind of project still make sense?","For supplier invoices that start arriving as structured files, reading is no longer needed and a simple import will do. But the timetable for making it mandatory in the private sector keeps being pushed back, and purchase orders, delivery notes, declarations and documents from foreign suppliers still arrive as PDFs. What remains in every scenario is the validation against the ERP and the handling of exceptions.",{"q":46,"a":47},"Does a prototype built with ChatGPT, Claude or Gemini help with this kind of project?","It does. A prototype that already reads a few invoices shows which documents and fields matter, and that shortens discovery. What it lacks is what makes the system reliable: the checks against the ERP, the exceptions queue, user accounts and access, backups and testing. Taking a first version of a prototype into production typically costs between €7,500 and €15,000.",{"type":49,"children":50,"toc":700},"root",[51,59,64,69,76,81,87,92,97,106,111,117,122,162,167,173,299,304,310,315,322,327,332,338,343,349,354,360,365,379,385,390,396,401,406,411,417,430,435,440,446,451,456,468,474,480,485,491,496,502,507,513,518,524,543,556,568,573,579,584,627,632,638,671],{"type":52,"tag":53,"props":54,"children":55},"element","p",{},[56],{"type":57,"value":58},"text","It is half past nine on a Monday morning and the accounts team's shared inbox\nhas a hundred and forty new messages. There are invoices from regular\nsuppliers, some scanned sideways, a PDF with three invoices and a delivery note\nstuck together in one file, a duplicate copy of an invoice that was already\nposted last week and a payment reminder that looks like an invoice but is not\none. In the sales inbox next door sit the customer purchase orders: some as PDFs\ngenerated by the customer's own ERP, others in Excel, and one written in the\nbody of the email that simply says \"repeat the March order, minus whatever was out of stock\".",{"type":52,"tag":53,"props":60,"children":61},{},[62],{"type":57,"value":63},"Someone is going to spend the day opening all of this, copying figures into the\nERP and checking that the price matches the order. Most of the work is\nmechanical. A small part of it, and that is the part that costs money when it\ngoes wrong, needs real attention: the supplier who changed bank details, the\nunit price that went up without notice, the invoiced quantity that does not\nmatch what actually arrived at the warehouse.",{"type":52,"tag":53,"props":65,"children":66},{},[67],{"type":57,"value":68},"This article is about getting artificial intelligence to do the mechanical part\nand to flag the part that needs attention, without building a system that\nconfidently posts mistakes into the ERP.",{"type":52,"tag":70,"props":71,"children":73},"h2",{"id":72},"short-answer",[74],{"type":57,"value":75},"Short answer",{"type":52,"tag":53,"props":77,"children":78},{},[79],{"type":57,"value":80},"AI reads supplier invoices, purchase orders and delivery notes in PDF, even in\nformats it has never seen, but reading is the easy part. What prevents silent\nerrors in the ERP are the checks around it: the tax number exists and matches\nthe supplier record, the lines add up to the total, the price matches the\npurchase order and the document is not a duplicate. Whatever fails goes to an\nexceptions queue, and at first documents enter the ERP as drafts. A first\nprocess in production typically costs between €7,500 and €15,000.",{"type":52,"tag":70,"props":82,"children":84},{"id":83},"reading-is-easy-validating-is-the-project",[85],{"type":57,"value":86},"Reading is easy, validating is the project",{"type":52,"tag":53,"props":88,"children":89},{},[90],{"type":57,"value":91},"Five years ago, the hard problem was reading. OCR turned the image into text,\nbut to know that the number in the top right corner was the total you had to\nset up a template for each supplier, and that template stopped working the\nmoment the supplier changed invoicing software.",{"type":52,"tag":53,"props":93,"children":94},{},[95],{"type":57,"value":96},"Language models changed this. They read a document they have never seen,\nunderstand that \"Amount due\", \"Total EUR\" and \"Balance\" are the same field, and\ncope with tables split across pages and poor quality scans. Reading has become\nthe cheap and predictable part.",{"type":52,"tag":98,"props":99,"children":100},"blockquote",{},[101],{"type":52,"tag":53,"props":102,"children":103},{},[104],{"type":57,"value":105},"The risk has changed too. Old OCR failed visibly, with blank fields. When a\nlanguage model gets something wrong, it returns a value that is plausible,\nneatly formatted and wrong.",{"type":52,"tag":53,"props":107,"children":108},{},[109],{"type":57,"value":110},"That is why almost all of the engineering work happens after the reading:\nchecking what was read against what the company already knows, deciding what\ngoes through on its own and what goes to a person, and keeping a record of\neverything.",{"type":52,"tag":70,"props":112,"children":114},{"id":113},"when-the-volume-already-justifies-a-project",[115],{"type":57,"value":116},"When the volume already justifies a project",{"type":52,"tag":53,"props":118,"children":119},{},[120],{"type":57,"value":121},"The most reliable signs that the problem is big enough for a project:",{"type":52,"tag":123,"props":124,"children":125},"ul",{},[126,132,137,142,147,152,157],{"type":52,"tag":127,"props":128,"children":129},"li",{},[130],{"type":57,"value":131},"you receive hundreds or thousands of documents a month, from dozens or\nhundreds of different senders;",{"type":52,"tag":127,"props":133,"children":134},{},[135],{"type":57,"value":136},"there are people whose job, in practice, is copying data from PDFs into the\nERP;",{"type":52,"tag":127,"props":138,"children":139},{},[140],{"type":57,"value":141},"the month-end close runs late because invoices are still waiting to be\nposted or checked;",{"type":52,"tag":127,"props":143,"children":144},{},[145],{"type":57,"value":146},"you have already paid an invoice twice, or paid a price different from the\none agreed, and only found out later;",{"type":52,"tag":127,"props":148,"children":149},{},[150],{"type":57,"value":151},"customer orders sit waiting to be keyed in, and the delivery clock starts\nticking hours late;",{"type":52,"tag":127,"props":153,"children":154},{},[155],{"type":57,"value":156},"matching between purchase order, goods receipt and invoice is done by\nsampling, because there is no time to do it for every document;",{"type":52,"tag":127,"props":158,"children":159},{},[160],{"type":57,"value":161},"volume keeps growing and the answer so far has been hiring one more person\nfor the same task.",{"type":52,"tag":53,"props":163,"children":164},{},[165],{"type":57,"value":166},"If three or four of these sound familiar, there is almost always a business\ncase.",{"type":52,"tag":70,"props":168,"children":170},{"id":169},"ocr-ai-and-structured-e-invoicing-what-each-one-solves",[171],{"type":57,"value":172},"OCR, AI and structured e-invoicing: what each one solves",{"type":52,"tag":174,"props":175,"children":176},"table",{},[177,204],{"type":52,"tag":178,"props":179,"children":180},"thead",{},[181],{"type":52,"tag":182,"props":183,"children":184},"tr",{},[185,189,194,199],{"type":52,"tag":186,"props":187,"children":188},"th",{},[],{"type":52,"tag":186,"props":190,"children":191},{},[192],{"type":57,"value":193},"OCR with fixed templates",{"type":52,"tag":186,"props":195,"children":196},{},[197],{"type":57,"value":198},"Extraction with language models",{"type":52,"tag":186,"props":200,"children":201},{},[202],{"type":57,"value":203},"Structured e-invoice",{"type":52,"tag":205,"props":206,"children":207},"tbody",{},[208,232,255,278],{"type":52,"tag":182,"props":209,"children":210},{},[211,217,222,227],{"type":52,"tag":212,"props":213,"children":214},"td",{},[215],{"type":57,"value":216},"New layouts",{"type":52,"tag":212,"props":218,"children":219},{},[220],{"type":57,"value":221},"Each one has to be set up",{"type":52,"tag":212,"props":223,"children":224},{},[225],{"type":57,"value":226},"Reads them with no prior setup",{"type":52,"tag":212,"props":228,"children":229},{},[230],{"type":57,"value":231},"Not applicable, data arrives in fields",{"type":52,"tag":182,"props":233,"children":234},{},[235,240,245,250],{"type":52,"tag":212,"props":236,"children":237},{},[238],{"type":57,"value":239},"Type of error",{"type":52,"tag":212,"props":241,"children":242},{},[243],{"type":57,"value":244},"Blank fields, visible",{"type":52,"tag":212,"props":246,"children":247},{},[248],{"type":57,"value":249},"Plausible but wrong values",{"type":52,"tag":212,"props":251,"children":252},{},[253],{"type":57,"value":254},"Rare, they come from the sender",{"type":52,"tag":182,"props":256,"children":257},{},[258,263,268,273],{"type":52,"tag":212,"props":259,"children":260},{},[261],{"type":57,"value":262},"Orders, delivery notes, declarations",{"type":52,"tag":212,"props":264,"children":265},{},[266],{"type":57,"value":267},"Weak",{"type":52,"tag":212,"props":269,"children":270},{},[271],{"type":57,"value":272},"Good",{"type":52,"tag":212,"props":274,"children":275},{},[276],{"type":57,"value":277},"Only if the sender uses a structured format",{"type":52,"tag":182,"props":279,"children":280},{},[281,286,291,295],{"type":52,"tag":212,"props":282,"children":283},{},[284],{"type":57,"value":285},"Validation against the ERP",{"type":52,"tag":212,"props":287,"children":288},{},[289],{"type":57,"value":290},"Has to be built",{"type":52,"tag":212,"props":292,"children":293},{},[294],{"type":57,"value":290},{"type":52,"tag":212,"props":296,"children":297},{},[298],{"type":57,"value":290},{"type":52,"tag":53,"props":300,"children":301},{},[302],{"type":57,"value":303},"The last row is the one people forget most often: even a perfect XML file does\nnot confirm that the price is the agreed one, or that the goods actually\narrived.",{"type":52,"tag":70,"props":305,"children":307},{"id":306},"the-checks-that-make-this-reliable",[308],{"type":57,"value":309},"The checks that make this reliable",{"type":52,"tag":53,"props":311,"children":312},{},[313],{"type":57,"value":314},"This is where a demo and something that can survive a month-end close part\nways.",{"type":52,"tag":316,"props":317,"children":319},"h3",{"id":318},"who-sent-it",[320],{"type":57,"value":321},"Who sent it",{"type":52,"tag":53,"props":323,"children":324},{},[325],{"type":57,"value":326},"First, the tax number. In Portugal every company has a NIF, a tax\nidentification number with a check digit, so a reading with one digit wrong is\ncaught without looking anything up. Then the NIF has to exist in the ERP's\nsupplier records. If it does not, the document stops there: either it is a new\nsupplier, which needs a record created by someone with the authority to do so,\nor it is a mistake.",{"type":52,"tag":53,"props":328,"children":329},{},[330],{"type":57,"value":331},"Bank details deserve special attention. An IBAN that differs from the one on\nthe supplier record is a classic pattern of email fraud, where someone poses as\nthe supplier. That case always goes to a person, with the warning clearly\nvisible.",{"type":52,"tag":316,"props":333,"children":335},{"id":334},"internal-consistency-of-the-document",[336],{"type":57,"value":337},"Internal consistency of the document",{"type":52,"tag":53,"props":339,"children":340},{},[341],{"type":57,"value":342},"The lines have to add up to the subtotal, the base plus VAT has to equal the\ntotal, and the VAT rates have to make sense for the type of product and the\nregion. Invoices issued in Portugal carry a help that few companies use: a\nmandatory QR code, defined by the Portuguese Tax Authority (AT), that holds in\nstructured form the tax numbers of issuer and buyer, the date, the document\nnumber, the ATCUD (a unique code each invoice must carry) and the base and VAT\ntotals for each rate. Reading the QR code and comparing it with what the model\nextracted from the text is a double check that costs almost nothing. The QR\ncode does not include the lines or the purchase order reference, and foreign\nsuppliers do not have it, so it does not replace extraction, but it catches a\nlot of errors in the totals.",{"type":52,"tag":316,"props":344,"children":346},{"id":345},"duplicates",[347],{"type":57,"value":348},"Duplicates",{"type":52,"tag":53,"props":350,"children":351},{},[352],{"type":57,"value":353},"A duplicate copy, the same PDF sent twice or the same invoice sent to two\ndifferent addresses are all common. The obvious check is the pair of tax number\nand document number. The less obvious one is the same amount, from the same\nsupplier, on nearby dates and with different numbers, which may or may not be\nlegitimate and should go for review.",{"type":52,"tag":316,"props":355,"children":357},{"id":356},"matching-against-purchase-order-and-goods-receipt",[358],{"type":57,"value":359},"Matching against purchase order and goods receipt",{"type":52,"tag":53,"props":361,"children":362},{},[363],{"type":57,"value":364},"For purchase invoices, the check that adds the most value is three-way\nmatching: the order the company placed, what arrived at the warehouse and what\nis being invoiced. This is where the real problems show up: the supplier\ninvoices by the box and the order was placed by the unit, the delivery was\npartial but the invoice is for the full amount, the price went up by half a\npercent, the carriage charges were never agreed. Every company has its own\ntolerances, and defining them is a management conversation we have right at\nthe start.",{"type":52,"tag":53,"props":366,"children":367},{},[368,370,377],{"type":57,"value":369},"With a ",{"type":52,"tag":371,"props":372,"children":374},"a",{"href":373},"/en/blog/custom-vendor-portals-procurement",[375],{"type":57,"value":376},"portal where suppliers invoice against the purchase\norder",{"type":57,"value":378},", part of this matching\nhappens before the document even arrives. For suppliers who keep sending PDFs\nby email, the logic is the same, just applied afterwards.",{"type":52,"tag":316,"props":380,"children":382},{"id":381},"customer-orders-the-other-side",[383],{"type":57,"value":384},"Customer orders: the other side",{"type":52,"tag":53,"props":386,"children":387},{},[388],{"type":57,"value":389},"With customer purchase orders, the challenge is different. Customers use their\nown product codes, so you need a mapping table that the system feeds with every\nconfirmation. Boxes and units have to be converted, \"next week\" has to become a\ndate, and an amendment that arrives as a reply to the email has to be linked to\nthe original order. This is where language models pull furthest ahead of OCR,\nbecause half of these orders have no layout at all.",{"type":52,"tag":70,"props":391,"children":393},{"id":392},"confidence-and-the-exceptions-queue",[394],{"type":57,"value":395},"Confidence and the exceptions queue",{"type":52,"tag":53,"props":397,"children":398},{},[399],{"type":57,"value":400},"A language model can say how sure it is of a reading, but it can be very sure\nof a wrong value. So the confidence we use for routing comes mainly from the\nchecks: a document where the tax number matches, the QR code confirms the\ntotals and the purchase order lines up has a measured confidence that no model\ncan declare about itself.",{"type":52,"tag":53,"props":402,"children":403},{},[404],{"type":57,"value":405},"Whatever fails goes to an exceptions queue. The quality of that screen decides\nwhether the project gets adopted or worked around. It has to show the PDF next\nto the fields that were read, highlighting the part of the document each value\ncame from, and say why the document stopped: \"unit price 4.2% above the\npurchase order\", not \"validation error\". Every correction made there is\nrecorded and becomes an example for the next documents from the same sender.",{"type":52,"tag":53,"props":407,"children":408},{},[409],{"type":57,"value":410},"The goal is not to empty the queue, it is to let the team spend its time on the\ncases that need judgement.",{"type":52,"tag":70,"props":412,"children":414},{"id":413},"posting-to-the-erp-and-audit-trail",[415],{"type":57,"value":416},"Posting to the ERP and audit trail",{"type":52,"tag":53,"props":418,"children":419},{},[420,422,428],{"type":57,"value":421},"The validated document has to reach the ERP. Primavera, PHC, SAP and Sage all\nhave documented integration options, but what is actually available varies\nwith the version, the licensing and the partner that manages the installation:\nsometimes there is a ready-made connection, sometimes an import module. We cover these options\nin the article on ",{"type":52,"tag":371,"props":423,"children":425},{"href":424},"/en/blog/add-ai-to-existing-business-software",[426],{"type":57,"value":427},"adding AI to the software your company already\nuses",{"type":57,"value":429},".",{"type":52,"tag":53,"props":431,"children":432},{},[433],{"type":57,"value":434},"At first, documents enter as drafts or pending approval. The move to direct\nposting happens supplier by supplier, once the record shows weeks of readings\nwith no corrections.",{"type":52,"tag":53,"props":436,"children":437},{},[438],{"type":57,"value":439},"For audit purposes, each document keeps the original, the extracted values, the\nchecks it passed and failed, who approved it and the version of the model and\nof the rules. When the statutory auditor asks why an invoice was paid, the\nanswer is on a screen and not in someone's memory.",{"type":52,"tag":70,"props":441,"children":443},{"id":442},"will-e-invoicing-solve-this-on-its-own",[444],{"type":57,"value":445},"Will e-invoicing solve this on its own?",{"type":52,"tag":53,"props":447,"children":448},{},[449],{"type":57,"value":450},"Partly, and more slowly than expected. In Portugal, PDF invoices are still\naccepted as electronic invoices for tax purposes, and that deadline has been\nextended several times; the 2027 State Budget proposal, still under debate,\nincludes a further extension to the end of that year. In public procurement,\nstructured e-invoicing is already required of large companies, but the\nobligation for SMEs has been postponed year after year. At European level,\nthe ViDA package (VAT in the Digital Age), approved in 2025, foresees\nstructured e-invoicing for intra-EU B2B transactions from 2030. The direction is clear, but the timetable\nfor domestic business-to-business transactions remains open, and it is worth\nconfirming where each obligation stands with your accountant.",{"type":52,"tag":53,"props":452,"children":453},{},[454],{"type":57,"value":455},"In practice, when a supplier sends structured XML, the system imports it and\nskips extraction, but the checks and the exceptions queue stay. A project\ndesigned well today does not become obsolete with structured invoicing. It just\nbecomes cheaper to run.",{"type":52,"tag":53,"props":457,"children":458},{},[459,461,467],{"type":57,"value":460},"A note on personal data: invoices from sole traders, declarations and delivery\nnotes with names and addresses are personal data under the GDPR. So by\ndefault we use models with processing in the European Union, a data\nprocessing agreement and a guarantee that the data is not used for training.\nWe go into this in the article on ",{"type":52,"tag":371,"props":462,"children":464},{"href":463},"/en/blog/gdpr-ai-act-before-ai-agents-production",[465],{"type":57,"value":466},"GDPR and the AI Act before putting AI into\nproduction",{"type":57,"value":429},{"type":52,"tag":70,"props":469,"children":471},{"id":470},"how-we-do-it",[472],{"type":57,"value":473},"How we do it",{"type":52,"tag":316,"props":475,"children":477},{"id":476},"_1-free-diagnosis-then-real-documents",[478],{"type":57,"value":479},"1. Free diagnosis, then real documents",{"type":52,"tag":53,"props":481,"children":482},{},[483],{"type":57,"value":484},"A free 30-minute conversation about the documents coming in, the volumes and the ERP. If there is a case, discovery starts with a sample of a few hundred real documents, to see the distribution: which types, how many senders, how many formats, how many arrive\nscanned. We also look at how the ERP can be reached. By the end, the company\nknows whether the case pays off and where to start, with no obligation to go\nahead.",{"type":52,"tag":316,"props":486,"children":488},{"id":487},"_2-one-document-type-running-in-parallel",[489],{"type":57,"value":490},"2. One document type, running in parallel",{"type":52,"tag":53,"props":492,"children":493},{},[494],{"type":57,"value":495},"We start with a single type, usually supplier invoices. For a few weeks the\nsystem processes in parallel with the team, who keep working as usual, and we\ntune the checks with no risk to the operation.",{"type":52,"tag":316,"props":497,"children":499},{"id":498},"_3-exceptions-queue-and-draft-posting",[500],{"type":57,"value":501},"3. Exceptions queue and draft posting",{"type":52,"tag":53,"props":503,"children":504},{},[505],{"type":57,"value":506},"The team starts working from the queue and validated documents enter the ERP\nfor approval. This is where we measure how much goes through untouched and how\nmuch time is saved per document.",{"type":52,"tag":316,"props":508,"children":510},{"id":509},"_4-progressive-autonomy-and-new-document-types",[511],{"type":57,"value":512},"4. Progressive autonomy and new document types",{"type":52,"tag":53,"props":514,"children":515},{},[516],{"type":57,"value":517},"With a track record, the most consistent suppliers move to direct posting, and\ncustomer orders or delivery notes are added on the same foundation.",{"type":52,"tag":70,"props":519,"children":521},{"id":520},"what-it-costs-and-how-long-it-takes",[522],{"type":57,"value":523},"What it costs and how long it takes",{"type":52,"tag":53,"props":525,"children":526},{},[527,529,535,537,542],{"type":57,"value":528},"A first process in production, for example supplier invoices with validation\nand posting to an ERP, typically sits ",{"type":52,"tag":530,"props":531,"children":532},"strong",{},[533],{"type":57,"value":534},"between €7,500 and €15,000",{"type":57,"value":536},", with six\nto ten weeks to production. When the project covers several linked document\ntypes, such as customer orders, purchase invoices and matching against the\nwarehouse, the investment rises to ",{"type":52,"tag":530,"props":538,"children":539},{},[540],{"type":57,"value":541},"between €15,000 and €35,000",{"type":57,"value":429},{"type":52,"tag":53,"props":544,"children":545},{},[546,548,554],{"type":57,"value":547},"In this kind of project, what moves the figure is mostly what is in the\ndocuments: how many different types are in scope, how much arrives scanned or\nwritten in the body of an email, and how many exceptions to the matching rules\nthe company has, such as suppliers with their own pricing agreements or\ndifferent tolerances per product family. The ERP connection matters too, as we\nexplain in the article on ",{"type":52,"tag":371,"props":549,"children":551},{"href":550},"/en/blog/how-much-ai-costs-company-portugal",[552],{"type":57,"value":553},"how much AI costs a\ncompany",{"type":57,"value":555},". What brings it down is\nstarting narrow: one document type, one ERP, clear rules.",{"type":52,"tag":53,"props":557,"children":558},{},[559,561,567],{"type":57,"value":560},"More and more companies come to us with a prototype built in ChatGPT, Claude or\nGemini that already reads a few invoices. That helps: it shows which documents\nand fields matter, shortens discovery and lowers the price. What the prototype\ndoes not bring is almost everything this article describes, namely the checks\nagainst the ERP, the exceptions queue, user accounts and access, backups and\ntesting. It is the gap we explain in the article on ",{"type":52,"tag":371,"props":562,"children":564},{"href":563},"/en/blog/ai-prototype-to-production",[565],{"type":57,"value":566},"taking an AI-built\nprototype into production",{"type":57,"value":429},{"type":52,"tag":53,"props":569,"children":570},{},[571],{"type":57,"value":572},"The running cost of the models grows with the number of pages processed, not\nthe number of invoices. A twenty-page PDF with technical attachments costs far\nmore to read than a one-page invoice, so we measure this in the discovery sample and, where it pays off, the system splits out the pages that matter\nbefore sending them to the model.",{"type":52,"tag":70,"props":574,"children":576},{"id":575},"when-it-does-not-pay-off",[577],{"type":57,"value":578},"When it does not pay off",{"type":52,"tag":53,"props":580,"children":581},{},[582],{"type":57,"value":583},"There are situations where the honest answer is not to go ahead with a custom\nproject:",{"type":52,"tag":123,"props":585,"children":586},{},[587,597,607,617],{"type":52,"tag":127,"props":588,"children":589},{},[590,595],{"type":52,"tag":530,"props":591,"children":592},{},[593],{"type":57,"value":594},"Few documents.",{"type":57,"value":596}," With a few dozen invoices a month, the time saved does not\npay back the investment.",{"type":52,"tag":127,"props":598,"children":599},{},[600,605],{"type":52,"tag":530,"props":601,"children":602},{},[603],{"type":57,"value":604},"One dominant format.",{"type":57,"value":606}," If eighty per cent of your documents come from three\nsuppliers, asking them to send structured files may solve it faster.",{"type":52,"tag":127,"props":608,"children":609},{},[610,615],{"type":52,"tag":530,"props":611,"children":612},{},[613],{"type":57,"value":614},"Suppliers who already send structured invoices.",{"type":57,"value":616}," In that case what is\nmissing is an import, not reading.",{"type":52,"tag":127,"props":618,"children":619},{},[620,625],{"type":52,"tag":530,"props":621,"children":622},{},[623],{"type":57,"value":624},"A need that ends at the accounting entry.",{"type":57,"value":626}," Several ERPs and accounting\nfirms already offer invoice scanning, and for Portuguese invoices with no\npurchase order matching that may be enough.",{"type":52,"tag":53,"props":628,"children":629},{},[630],{"type":57,"value":631},"A custom project makes sense when there is volume, a variety of formats and\nrules of your own, such as matching against goods receipts or handling customer\norders.",{"type":52,"tag":70,"props":633,"children":635},{"id":634},"before-asking-for-a-proposal",[636],{"type":57,"value":637},"Before asking for a proposal",{"type":52,"tag":123,"props":639,"children":640},{},[641,646,651,656,661,666],{"type":52,"tag":127,"props":642,"children":643},{},[644],{"type":57,"value":645},"How many documents arrive each month, of what types and from how many\nsenders?",{"type":52,"tag":127,"props":647,"children":648},{},[649],{"type":57,"value":650},"How many hours a week are spent today copying and checking?",{"type":52,"tag":127,"props":652,"children":653},{},[654],{"type":57,"value":655},"Which errors have already cost money: duplicates, prices, quantities, bank\ndetails?",{"type":52,"tag":127,"props":657,"children":658},{},[659],{"type":57,"value":660},"What tolerances are acceptable when matching against purchase orders?",{"type":52,"tag":127,"props":662,"children":663},{},[664],{"type":57,"value":665},"Who manages the ERP and what integration options are available?",{"type":52,"tag":127,"props":667,"children":668},{},[669],{"type":57,"value":670},"Which decisions can be automatic, and which must always go through a person?",{"type":52,"tag":53,"props":672,"children":673},{},[674,676,682,684,690,692,698],{"type":57,"value":675},"This kind of project brings together two things we do every day: ",{"type":52,"tag":371,"props":677,"children":679},{"href":678},"/en/solucoes/automacao-processos",[680],{"type":57,"value":681},"process\nautomation",{"type":57,"value":683}," and ",{"type":52,"tag":371,"props":685,"children":687},{"href":686},"/en/solucoes/ia-para-empresas",[688],{"type":57,"value":689},"AI integration into company\nsystems",{"type":57,"value":691},". If your team spends hours copying\ndocuments into the ERP, you can ",{"type":52,"tag":371,"props":693,"children":695},{"href":694},"/en/contacto",[696],{"type":57,"value":697},"request a free diagnosis",{"type":57,"value":699},". We\nlook at the documents you receive and at your ERP, without commitment, and\nreturn a proposal with scope, timeline and investment defined.",{"title":701,"searchDepth":702,"depth":702,"links":703},"",3,[704,706,707,708,709,716,717,718,719,725,726,727],{"id":72,"depth":705,"text":75},2,{"id":83,"depth":705,"text":86},{"id":113,"depth":705,"text":116},{"id":169,"depth":705,"text":172},{"id":306,"depth":705,"text":309,"children":710},[711,712,713,714,715],{"id":318,"depth":702,"text":321},{"id":334,"depth":702,"text":337},{"id":345,"depth":702,"text":348},{"id":356,"depth":702,"text":359},{"id":381,"depth":702,"text":384},{"id":392,"depth":705,"text":395},{"id":413,"depth":705,"text":416},{"id":442,"depth":705,"text":445},{"id":470,"depth":705,"text":473,"children":720},[721,722,723,724],{"id":476,"depth":702,"text":479},{"id":487,"depth":702,"text":490},{"id":498,"depth":702,"text":501},{"id":509,"depth":702,"text":512},{"id":520,"depth":705,"text":523},{"id":575,"depth":705,"text":578},{"id":634,"depth":705,"text":637},"markdown","content:en:blog:ai-document-processing-invoices-orders.md","content","en/blog/ai-document-processing-invoices-orders.md","en/blog/ai-document-processing-invoices-orders","md",[735,742,751,759,766,775,783,790,797,805,812,819,827,834,841,849,855,861,868,875,882,889,895,903,909,916,923,930,938,946,953,960,966,973,980,987,993,1001,1008,1015,1022,1029,1036,1044],{"_path":736,"title":737,"description":738,"date":13,"image":739,"tags":740},"/blog/custom-software-quote-what-it-should-include","What a Custom Software Quote Should Include: A Line-by-Line Example","The line items a custom software quote should break down, a line-by-line example, the costs left out and the warning signs to check before signing.","/images/blog/orcamento-software-medida.jpg",[22,741],"Custom Software",{"_path":743,"title":744,"description":745,"date":746,"image":747,"tags":748},"/blog/real-estate-crm-software-portugal-how-to-choose","Real Estate CRM Software in Portugal: How to Choose the Right One for Your Agency","Portals, listings, viewings, commissions and IMPIC obligations: what a real estate CRM has to handle in Portugal and when a custom-built one pays off.","2026-11-09","/images/blog/crm-imobiliario-portugal.jpg",[749,750,741],"Real Estate","CRM",{"_path":752,"title":753,"description":754,"date":755,"image":756,"tags":757},"/blog/is-your-company-data-ready-for-ai","Is Your Company Data Ready for AI? How to Tell Before You Invest","What each type of AI project asks of your data, an eight-question self-assessment, and why you do not need a data lake before your first AI project.","2026-10-29","/images/blog/dados-prontos-ia.jpg",[20,758,22,741],"Business Intelligence",{"_path":760,"title":761,"description":762,"date":763,"image":764,"tags":765},"/blog/ai-cash-flow-treasury-forecasting","Cash Flow Forecasting: Stop Running Treasury on Bank Statements and a Friday Spreadsheet","Consolidated multi-bank position, automatic reconciliation and a 13-week cash flow forecast. Where AI genuinely helps and where simple statistics are enough.","2026-10-24","/images/blog/previsao-tesouraria.jpg",[758,20,19,22],{"_path":767,"title":768,"description":769,"date":770,"image":771,"tags":772},"/blog/ai-clinical-documentation-consultations","AI for Clinical Documentation: Fewer Hours Writing, Without Losing Control of the Note","How AI transcribes and summarises consultations, drafts letters and writes into clinical software, with the clinician signing off. GDPR, MDR and costs.","2026-10-19","/images/blog/ia-documentacao-clinica.jpg",[773,20,774],"Healthcare","Compliance",{"_path":776,"title":777,"description":778,"date":779,"image":780,"tags":781},"/blog/fleet-rent-a-car-management-software-ai","Custom Rent-a-Car Software: Real Fleet Status, AI Inspections and Dynamic Pricing","Real availability, inspection photos compared by AI, fines passed to the renter on time and occupancy-based pricing: what a rent-a-car operation needs.","2026-10-14","/images/blog/frotas-rent-a-car.jpg",[782,741,20],"Logistics",{"_path":784,"title":785,"description":786,"date":787,"image":788,"tags":789},"/blog/ai-recruitment-hr-ai-act-high-risk","AI in Recruitment and HR: What to Automate and What the AI Act Treats as High Risk","What AI can safely do in HR, what the AI Act classifies as high risk in recruitment, and how to design systems that support decisions without making them.","2026-10-08","/images/blog/ia-recrutamento-rh.jpg",[20,774,19,741],{"_path":791,"title":792,"description":793,"date":794,"image":795,"tags":796},"/blog/field-service-management-software-technical-teams","Software for Field Technical Teams: From the Call to the Invoice Without Paper","Work orders, an offline app, parts in the van, contracts with SLAs and an invoice at close-out: what a system for field technicians really has to solve.","2026-10-03","/images/blog/equipas-tecnicas-terreno.jpg",[741,19,20],{"_path":798,"title":799,"description":800,"date":801,"image":802,"tags":803},"/blog/custom-erp-wholesale-distribution","Custom ERP for Wholesalers and Distributors: Where the Margin Goes","Customer pricing, volume rebates, WhatsApp orders and credit limits: where an off-the-shelf ERP fails a wholesaler, where AI helps and what custom costs.","2026-09-26","/images/blog/erp-distribuicao-grossista.jpg",[782,21,741,804],"B2B Sales",{"_path":806,"title":807,"description":808,"date":809,"image":810,"tags":811},"/blog/modernise-legacy-software-without-stopping-operations","The Old System Nobody Wants to Touch: How to Modernise It Without Stopping Operations","Access, Visual Basic, Delphi or a 15-year-old ERP: how to replace old software one module at a time, migrate data in parallel and keep the business running.","2026-09-12","/images/blog/modernizar-software-legado.jpg",[741,21,22],{"_path":813,"title":814,"description":815,"date":816,"image":817,"tags":818},"/blog/ai-prototype-to-production","Your Team Built an AI Prototype. What It Takes to Get to Production","More and more teams build applications with ChatGPT, Codex or Claude Code. What changes when that software has to be secure, reliable and able to scale to production.","2026-09-05","/images/blog/ai-prototype-to-production.jpg",[741,20,774,22],{"_path":820,"title":821,"description":822,"date":823,"image":824,"tags":825},"/blog/integrate-ai-business-processes-digital-brain","How to Integrate AI into Business Processes Without Adding Another Isolated Tool","Learn how a Digital Brain connects documents, ERP, CRM and email to turn AI into real work, with security, control and measurable return.","2026-08-26","/images/blog/cerebro-digital.jpg",[20,826,19,22],"AI Agents",{"_path":828,"title":829,"description":830,"date":831,"image":832,"tags":833},"/blog/how-long-a-custom-software-project-takes","How Long a Custom Software or AI Project Actually Takes","Real timelines by project type, what happens inside each phase, and the four things on the client side that delay projects more than any technical decision.","2026-08-22","/images/blog/prazos-projeto-software-medida.jpg",[22,741,20,19],{"_path":835,"title":836,"description":837,"date":838,"image":839,"tags":840},"/blog/add-ai-to-existing-business-software","Adding AI to the Software Your Company Already Uses, Without Replacing It","How AI connects to the ERP, the CRM and the files you already have, what changes when a system has no ready-made connection, and what each scenario actually costs.","2026-08-16","/images/blog/integrar-ia-software-existente.jpg",[20,741,21,22],{"_path":842,"title":843,"description":844,"date":845,"image":846,"tags":847},"/blog/how-to-choose-an-ai-agent-partner","How to Choose Who Builds Your Company AI Agents","Seven criteria to separate those who deliver from those who give a good demo: code ownership, fixed scope, what happens when the AI is wrong, and where the data lives.","2026-08-09","/images/blog/agentes-ia-empresariais-suporte-b2b.jpg",[826,22,848],"B2B Portals",{"_path":850,"title":851,"description":852,"date":853,"image":846,"tags":854},"/blog/gdpr-ai-act-before-ai-agents-production","GDPR and the AI Act: What to Check Before Putting an AI Agent in Production","What the GDPR and the AI Act actually require from a company using AI agents, the five points that cover most cases, and the mistake that costs the most.","2026-08-02",[774,826],{"_path":856,"title":857,"description":858,"date":859,"image":824,"tags":860},"/blog/how-much-ai-costs-company-portugal","How Much Does It Cost to Implement AI in a Company in Portugal in 2026","Real price ranges for AI agents, internal platforms and custom software in Portugal, what drives the figure up, and the running cost that never appears in proposals.","2026-07-26",[22,20,826],{"_path":862,"title":863,"description":864,"date":865,"image":866,"tags":867},"/blog/custom-erp-crm-vs-primavera-phc-sap","Custom ERP and CRM or Primavera, PHC, ARTSOFT and SAP: How to Decide","Primavera, PHC, ARTSOFT and SAP fit most companies. The three signs the product stopped fitting, and why replacing everything rarely pays off.","2026-07-19","/images/blog/agribusiness-erp.jpg",[21,750,22],{"_path":869,"title":870,"description":871,"date":872,"image":873,"tags":874},"/blog/custom-ai-agents-vs-generic-tools","Custom AI Agents or Generic Tools: When Building Is Worth It","ChatGPT and Copilot solve individual productivity. When the process needs company data and has to act in your systems, the maths changes. Criteria for deciding.","2026-07-12","/images/blog/automacao-vendas-ia.jpg",[826,20,22],{"_path":876,"title":877,"description":878,"date":879,"image":880,"tags":881},"/blog/custom-real-estate-crm-high-ticket-deals","Custom Real Estate CRM: The Key to Closing High-Ticket Deals","Discover why generic CRMs fail in the luxury market and how a custom-built real estate CRM with AI integration accelerates closing high-ticket deals.","2026-06-08","/images/blog/crm-real-estate.jpg",[750,749,20],{"_path":883,"title":884,"description":885,"date":886,"image":887,"tags":888},"/blog/legal-erp-integrated-crm-lead-capture","From Followers to Clients: How a Legal ERP with Integrated CRM Transforms Lead Capture","What changes when client acquisition and case management live in the same system, and why most of the enquiries generated on social channels are lost before they ever reach a fee proposal.","2026-05-21","/images/blog/erp-juridico-crm.jpg",[741,750,19],{"_path":890,"title":891,"description":892,"date":893,"image":873,"tags":894},"/blog/ai-sales-automation","How AI Automation Shortens Sales Cycles and Boosts Conversion Rates","Discover how AI sales automation eliminates manual administrative work, accelerates high-value B2B deals, and transforms your CRM.","2026-05-14",[20,19,804],{"_path":896,"title":897,"description":898,"date":899,"image":900,"tags":901},"/blog/e-commerce-checkout-optimization","Why Your Online Store is Losing Sales at Checkout (and How to Fix It)","Discover why an outdated e-commerce platform turns customers away at checkout and how modern payment integrations immediately increase your conversion rate.","2026-05-12","/images/blog/otimizacao-checkout-e-commerce.jpg",[902,741],"Retail & E-commerce",{"_path":904,"title":905,"description":906,"date":907,"image":824,"tags":908},"/blog/digital-brain-institutional-memory-smes","What if Your Company Had a Digital Brain? The Revolution of Institutional Memory in SMEs","Discover how a Digital Brain powered by Private AI can centralize company knowledge, eliminate the Bus Factor, and scale your operations securely.","2026-05-08",[20,19],{"_path":910,"title":911,"description":912,"date":913,"image":914,"tags":915},"/blog/ai-chatbot-qualifies-leads-24h","Multiply Your Sales: How an AI Chatbot Qualifies Leads 24 Hours a Day","Discover how a custom Artificial Intelligence chatbot can interact, qualify high-value potential clients, and schedule meetings while your team sleeps.","2026-05-02","/images/blog/chatbot-ia-qualifica-leads.jpg",[20,804,19],{"_path":917,"title":918,"description":919,"date":920,"image":921,"tags":922},"/blog/custom-wms-ai-inventory-management","Zero-Touch Inventory Management: How Custom WMS & AI Reduce Stockouts","Discover how a custom Warehouse Management System (WMS) powered by AI reduces stockouts and automates replenishments in retail and distribution operations.","2026-04-24","/images/blog/wms-medida-ia-gestao-inventario.jpg",[902,20,782],{"_path":924,"title":925,"description":926,"date":927,"image":928,"tags":929},"/blog/custom-erp-consulting-firms-project-management","Ending Consultancy Chaos: 10 SaaS Tools vs 1 Custom ERP","Discover why dozens of SaaS tools destroy consultancy profit margins and how a custom ERP safely restores holistic financial control.","2026-04-20","/images/blog/finance-automation.jpg",[741,21],{"_path":931,"title":932,"description":933,"date":934,"image":935,"tags":936},"/blog/custom-eqms-manufacturing-quality-control","Paperless Quality Control: The Value of Custom e-QMS in Manufacturing","Discover how a custom e-QMS replaces manual factory floor processes and accelerates audits in manufacturing.","2026-04-17","/images/blog/eqms-sistema-controlo-qualidade-industria.jpg",[937,741,20],"Manufacturing",{"_path":939,"title":940,"description":941,"date":942,"image":943,"tags":944},"/blog/law-firm-management-software-ai","Law Firm Management Software: How AI Solves the Problem of Slow Contract Analysis","Discover how a custom ERP and management software for law firms integrates AI to analyze contracts and scale billable hours.","2026-04-15","/images/blog/software-gestao-advogados-ia.jpg",[20,741,945],"Legal Sector",{"_path":947,"title":948,"description":949,"date":950,"image":951,"tags":952},"/blog/custom-crm-vs-salesforce","What Is a Custom CRM and Why Salesforce Might Be Holding Your Business Back","The signs a generic CRM is no longer enough, what changes with a custom system, and how licence costs compare against ownership over a three to five year horizon.","2026-04-10","/images/blog/crm-medida-vs-salesforce.jpg",[750,804,741,22],{"_path":954,"title":955,"description":956,"date":957,"image":958,"tags":959},"/blog/custom-vendor-portals-procurement","Custom Vendor Portals: The Secret Strategy for a Resilient Supply Chain","Discover how bespoke Vendor Portals guarantee efficiency, rock-solid compliance, and total management control across complex procurement operations.","2026-04-09","/images/blog/portais-fornecedores-medida-procurement.jpg",[848,782],{"_path":961,"title":962,"description":963,"date":964,"image":846,"tags":965},"/blog/enterprise-ai-agents-b2b-support","Enterprise AI Agents: Reimagining Complex B2B Customer Support","How AI Agents integrated into your ERP transform B2B support, resolving complex queries without human intervention and scaling operations.","2026-04-08",[20,19],{"_path":967,"title":968,"description":969,"date":970,"image":971,"tags":972},"/blog/custom-erp-enterprise-groups-holdings","Multi-Company Management Without Chaos: The Strategic Advantage of a Custom ERP","Discover how Enterprise Groups and Holdings are abandoning rigid ERPs in favor of custom software to centralize management and scale profitably.","2026-04-06","/images/blog/erp-medida-grupos-empresariais-holdings.jpg",[741,21],{"_path":974,"title":975,"description":976,"date":977,"image":978,"tags":979},"/blog/traditional-mes-ai-smart-system","How to Transform Your Traditional MES into an AI-Driven Smart System","Passive MES systems bottleneck factory efficiency. Learn how to integrate Artificial Intelligence for predictive maintenance and near zero downtime.","2026-04-01","/images/blog/tradicional-mes-ai-smart-system.jpg",[937,20,741],{"_path":981,"title":982,"description":983,"date":984,"image":985,"tags":986},"/blog/custom-erp-vs-saas-logistics","Custom ERP vs SaaS: What Works Best for Logistics Operations?","Generic SaaS logistics platforms create bottlenecks. Learn why a custom ERP transforms distribution scalability and lowers long-term operational costs.","2026-03-23","/images/blog/erp-logistics.jpg",[782,21,741,22],{"_path":988,"title":989,"description":990,"date":991,"image":928,"tags":992},"/blog/backoffice-financial-automation","Backoffice Automation in Financial Services: Security and Efficiency","Manual approvals and document handling slow responses and create compliance risks. Discover how financial backoffice automation transforms operations.","2026-03-16",[19,774],{"_path":994,"title":995,"description":996,"date":997,"image":998,"tags":999},"/blog/end-of-excel-construction","The End of Excel in Construction: Centralizing Project Management","Budgets and planning scattered across spreadsheets cause massive financial overruns. Learn how a custom ERP safely centralizes construction management.","2026-03-09","/images/blog/excel-construction.jpg",[1000,21,741],"Construction",{"_path":1002,"title":1003,"description":1004,"date":1005,"image":1006,"tags":1007},"/blog/predictive-maintenance-manufacturing","Predictive Maintenance in Manufacturing: Using AI to Prevent Downtime","Unexpected assembly line failures destroy margins. Discover how predictive maintenance software uses AI to prevent breakdowns before they occur.","2026-03-02","/images/blog/predictive-maintenance.jpg",[937,20],{"_path":1009,"title":1010,"description":1011,"date":1012,"image":1013,"tags":1014},"/blog/ai-crm-real-estate","How AI is Transforming Lead Qualification in Real Estate CRMs","Real estate teams waste hours on unqualified leads. Discover how a custom CRM with AI agents eliminates manual prospecting and boosts conversion.","2026-02-23","/images/blog/ai-real-estate.jpg",[749,750,20,19],{"_path":1016,"title":1017,"description":1018,"date":1019,"image":1020,"tags":1021},"/blog/b2b-custom-extranet-portals","B2B Extranets: Retaining Enterprise Clients with Custom Portals","PDF and email ordering generate B2B friction. Discover how bespoke Extranet Portals streamline corporate sales and secure long-term client relationships.","2026-02-16","/images/blog/b2b-extranet.jpg",[848,937,19],{"_path":1023,"title":1024,"description":1025,"date":1026,"image":1027,"tags":1028},"/blog/custom-bi-dashboards-retail","Custom Business Intelligence Dashboards for Multi-Store Retail","Data silos between e-commerce, retail, and warehouses destroy margins. Learn how custom BI Dashboards centralize operations and drive decisions.","2026-02-09","/images/blog/retail-dashboard.jpg",[902,758,741],{"_path":1030,"title":1031,"description":1032,"date":1033,"image":866,"tags":1034},"/blog/agribusiness-custom-erp","Scaling Agribusiness: Why You Should Avoid Generic Management Software","Agricultural seasonality and traceability collide with traditional ERPs. Discover how custom software fully digitalizes agribusiness operations.","2026-02-02",[1035,21,741,937],"Agribusiness",{"_path":1037,"title":1038,"description":1039,"date":1040,"image":1041,"tags":1042},"/blog/staff-management-hospitality","Staff Management in Hospitality: Ending Roster Disorganization","Rosters in Excel and WhatsApp groups cost you shift coverage, maintenance traceability and GDPR compliance. What changes with a custom internal portal.","2026-01-26","/images/blog/hospitality-staff.jpg",[1043,848,19],"Hospitality",{"_path":1045,"title":1046,"description":1047,"date":1048,"image":1049,"tags":1050},"/blog/ai-clinical-scheduling","Clinical Scheduling Automation: Reducing No-Shows with AI Agents","Uncommunicated patient no-shows destroy daily clinic profitability. Learn how custom clinic scheduling software powered by AI actively eliminates friction.","2026-01-19","/images/blog/ai-clinic.jpg",[773,20,19],1794655862122]