Modelo de factura precompilado de Form RecognizerForm Recognizer prebuilt invoice model

Azure Form Recognizer puede analizar y extraer información de facturas de compra mediante sus modelos de factura precompilados.Azure Form Recognizer can analyze and extract information from sales invoices using its prebuilt invoice models. Invoice API permite a los clientes tomar facturas en varios formatos y devolver datos estructurados para automatizar el procesamiento de facturas.The Invoice API enables customers to take invoices in a variety of formats and return structured data to automate the invoice processing. Combina nuestras eficaces funcionalidades de reconocimiento óptico de caracteres (OCR) con modelos de aprendizaje profundo de reconocimiento de facturas para extraer información clave de facturas en inglés.It combines our powerful Optical Character Recognition (OCR) capabilities with invoice understanding deep learning models to extract key information from invoices in English. Extrae el texto, las tablas y la información como el cliente, el proveedor, el identificador de la factura, la fecha de vencimiento de la factura, el total, el importe debido de la factura, el importe de los impuestos, la dirección de envío, la dirección de facturación, elementos de línea, etc.It extracts the text, tables, and information such as customer, vendor, invoice ID, invoice due date, total, invoice amount due, tax amount, ship to, bill to, line items and more. La instancia precompilada de Invoice API está disponible públicamente en la versión preliminar de Form Recognizer v2.1.The prebuilt Invoice API is publicly available in the Form Recognizer v2.1 preview.

¿Qué hace el servicio Invoice?What does the Invoice service do?

La API Invoice extrae campos clave y elementos de línea de las facturas y los devuelve en una respuesta JSON estructurada organizada.The Invoice API extracts key fields and line items from invoices and returns them in an organized structured JSON response. Las facturas pueden ser de varios formatos y tener distintos grados de calidad, lo que incluye imágenes capturadas por un teléfono, documentos digitalizados y archivos PDF digitales.Invoices can be from a variety of formats and quality, including phone-captured images, scanned documents, and digital PDFs. Invoice API extraerá la salida estructurada de todas estas facturas.The invoice API will extract the structured output from all of these invoices.

Ejemplo de factura de Contoso

PruebaTry it out

Para probar el servicio Invoice de Form Recognizer, vaya a la herramienta de interfaz de usuario de ejemplo en línea:To try out the Form Recognizer Invoice Service, go to the online Sample UI Tool:

Necesitará una suscripción a Azure (cree una gratis) y un punto de conexión de recursos de Form Recognizer, así como la clave para probar el servicio Invoice de Form Recognizer.You will need an Azure subscription (create one for free) and a Form Recognizer resource endpoint and key to try out the Form Recognizer Invoice service.

Ejemplo de factura analizada

Requisitos de entradaInput requirements

  • Formatos de archivos admitidos: JPEG, PNG, PDF y TIFFSupported file formats: JPEG, PNG, PDF, and TIFF
  • En el caso de PDF y TIFF, se procesan 2000 páginas como máximo.For PDF and TIFF, up to 2000 pages are processed. En el caso de los suscriptores del nivel Gratis, solo se procesan las dos primeras páginas.For free tier subscribers, only the first two pages are processed.
  • El tamaño de archivo debe ser inferior a 50 MB; y sus dimensiones, de al menos 50x50 píxeles y, como máximo, de 10 000x10 000 píxeles.The file size must be less than 50 MB and dimensions at least 50 x 50 pixels and at most 10000 x 10000 pixels.
  • Los archivos PDF deben tener unas dimensiones de 17x17 pulgadas como máximo, lo que se corresponde con los tamaños de papel Legal o A3 y más pequeños.The PDF dimensions must be at most 17 x 17 inches, corresponding to legal or A3 paper sizes and smaller.

La operación Analyze InvoiceThe Analyze Invoice operation

La operación Analyze Invoice toma una imagen o un archivo PDF de una factura como entrada y extrae los valores de interés.The Analyze Invoice operation takes an image or PDF of an invoice as the input and extracts the values of interest. La llamada devuelve un campo de encabezado de respuesta denominado Operation-Location.The call returns a response header field called Operation-Location. El valor Operation-Location es una dirección URL que contiene el id. de resultado que se va a usar en el paso siguiente.The Operation-Location value is a URL that contains the Result ID to be used in the next step.

Encabezado de respuestaResponse header Dirección URL del resultadoResult URL
Operation-LocationOperation-Location https://cognitiveservice/formrecognizer/v2.1-preview.3/prebuilt/invoice/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

La operación Get Analyze Invoice ResultThe Get Analyze Invoice Result operation

El segundo paso consiste en llamar a la operación Get Analyze Invoice Result.The second step is to call the Get Analyze Invoice Result operation. Esta operación toma como entrada el id. de resultado que la operación Analyze Invoice ha creado.This operation takes as input the Result ID that was created by the Analyze Invoice operation. Devuelve una respuesta JSON que contiene un campo de estado con los siguientes valores posibles.It returns a JSON response that contains a status field with the following possible values. Llamará a esta operación de forma iterativa hasta que se devuelva con el valor correcto.You call this operation iteratively until it returns with the succeeded value. Use un intervalo de 3 a 5 segundos para evitar superar la tasa de solicitudes por segundo (RPS).Use an interval of 3 to 5 seconds to avoid exceeding the requests per second (RPS) rate.

CampoField TipoType Valores posiblesPossible values
statusstatus stringstring notStarted: la operación de análisis no se ha iniciado.notStarted: The analysis operation has not started.

running: la operación de análisis está en curso.running: The analysis operation is in progress.

failed: error en la operación de análisis.failed: The analysis operation has failed.

succeeded: la operación de análisis se realizó correctamente.succeeded: The analysis operation has succeeded.

Cuando el campo de estado tiene el valor succeeded, la respuesta de JSON incluirá los resultados del reconocimiento de la factura, las tablas extraídas y los resultados del reconocimiento de texto opcional, en caso de que se solicite.When the status field has the succeeded value, the JSON response will include the invoice understanding results, tables extracted and optional text recognition results, if requested. El resultado del reconocimiento de la factura se organiza como un diccionario de valores de campo con nombre, en el que cada valor contiene el texto extraído, el valor normalizado, el rectángulo delimitador, el nivel de confianza y los elementos de la palabra correspondiente.The invoice understanding result is organized as a dictionary of named field values, where each value contains the extracted text, normalized value, bounding box, confidence and corresponding word elements. También incluye los elementos de línea extraídos, donde cada elemento de línea contiene el importe, la descripción, el precio unitario, la cantidad, etc. El resultado del reconocimiento de texto se organiza como una jerarquía de líneas y palabras, con texto, rectángulo delimitador e información de confianza.It also includes the line items extracted where each line item contains the amount, description, unitPrice, quantity etc. The text recognition result is organized as a hierarchy of lines and words, with text, bounding box and confidence information.

Salida de JSON de ejemploSample JSON output

La respuesta a la operación Get Analyze Invoice Result será la representación estructurada de la factura con toda la información extraída.The response to the Get Analyze Invoice Result operation will be the structured representation of the invoice with all the information extracted. Aquí encontrará un archivo con una factura de ejemplo y su salida estructurada, una salida de una factura de ejemplo.See here for a sample invoice file and its structured output sample invoice output.

La salida JSON tiene tres partes:The JSON output has 3 parts:

  • El nodo "readResults" contiene todo el texto reconocido y las marcas de selección."readResults" node contains all of the recognized text and selection marks. El texto se organiza por página, después, por líneas y, finalmente, por palabras individuales.Text is organized by page, then by line, then by individual words.
  • El nodo "pageResults" contiene las tablas y celdas extraídas con sus rectángulos delimitadores, su confianza y una referencia a las líneas y palabras de "readResults"."pageResults" node contains the tables and cells extracted with their bounding boxes, confidence and a reference to the lines and words in "readResults".
  • El nodo "documentResults" contiene los valores específicos y los elementos de línea de la factura que el modelo ha detectado."documentResults" node contains the invoice specific values and line items that the model discovered. Aquí es donde encontrará todos los campos de la factura, como el identificador de la factura, la dirección de envío, la de facturación, el cliente, el total, los elementos de línea, etc.This is where you'll find all the fields from the invoice such as invoice ID, ship to, bill to, customer, total, line items and lots more.

Salida de ejemploExample output

El servicio Invoice extraerá el texto, las tablas y los 26 campos de la factura.The Invoice service will extract the text, tables and 26 invoice fields. A continuación se muestran los campos extraídos de una factura en la respuesta de salida JSON (la siguiente salida usa esta factura de ejemplo).Following are the fields extracted from an invoice in the JSON output response (the output below uses this sample invoice).

NombreName TipoType DescripciónDescription TextoText Valor (salida estándar)Value (standardized output)
CustomerNameCustomerName stringstring Cliente al que se va a facturarCustomer being invoiced Microsoft CorpMicrosoft Corp
CustomerIdCustomerId stringstring Identificador de referencia del clienteReference ID for the customer CID-12345CID-12345
PurchaseOrderPurchaseOrder stringstring Número de referencia del pedidoA purchase order reference number PO-3333PO-3333
InvoiceIdInvoiceId stringstring Identificador de esta factura concreta (a menudo "Número de factura")ID for this specific invoice (often "Invoice Number") INV-100INV-100
FechaFacturaInvoiceDate datedate Fecha en que se generó la facturaDate the invoice was issued 15/11/201911/15/2019 15-11-20192019-11-15
DueDateDueDate datedate Fecha de vencimiento de esta facturaDate payment for this invoice is due 15/12/201912/15/2019 15-12-20192019-12-15
VendorNameVendorName stringstring Proveedor que ha creado esta facturaVendor who has created this invoice CONTOSO LTD.CONTOSO LTD.
VendorAddressVendorAddress stringstring Dirección de correo del proveedorMailing address for the Vendor 123 456th St New York, NY, 10001123 456th St New York, NY, 10001
VendorAddressRecipientVendorAddressRecipient stringstring Nombre asociado a VendorAddressName associated with the VendorAddress Oficina central de ContosoContoso Headquarters
CustomerAddressCustomerAddress stringstring Dirección de correo del clienteMailing address for the Customer 123 Other St, Redmond WA, 98052123 Other St, Redmond WA, 98052
CustomerAddressRecipientCustomerAddressRecipient stringstring Nombre asociado a CustomerAddressName associated with the CustomerAddress Microsoft CorpMicrosoft Corp
BillingAddressBillingAddress stringstring Dirección facturación del clienteExplicit billing address for the customer 123 Bill St, Redmond WA, 98052123 Bill St, Redmond WA, 98052
BillingAddressRecipientBillingAddressRecipient stringstring Nombre asociado a BillingAddressName associated with the BillingAddress Servicios MicrosoftMicrosoft Services
ShippingAddressShippingAddress stringstring Dirección de envío explícita del clienteExplicit shipping address for the customer 123 Ship St, Redmond WA, 98052123 Ship St, Redmond WA, 98052
ShippingAddressRecipientShippingAddressRecipient stringstring Nombre asociado a ShippingAddressName associated with the ShippingAddress Microsoft DeliveryMicrosoft Delivery
SubTotalSubTotal numbernumber Campo de subtotal identificado en esta facturaSubtotal field identified on this invoice 100,00 USD$100.00 100100
TotalTaxTotalTax numbernumber Campo de total de impuestos identificado en esta facturaTotal tax field identified on this invoice 10,00 USD$10.00 1010
InvoiceTotalInvoiceTotal numbernumber Total de cargos nuevos asociados a esta facturaTotal new charges associated with this invoice 110,00 USD$110.00 110110
AmountDueAmountDue numbernumber Importe total debido al proveedorTotal Amount Due to the vendor 610,00 USD$610.00 610610
ServiceAddressServiceAddress stringstring Dirección de servicio o dirección de propiedad explícitas para el clienteExplicit service address or property address for the customer 123 Service St, Redmond WA, 98052123 Service St, Redmond WA, 98052
ServiceAddressRecipientServiceAddressRecipient stringstring Nombre asociado a ServiceAddressName associated with the ServiceAddress Servicios MicrosoftMicrosoft Services
RemittanceAddressRemittanceAddress stringstring Dirección de remite o de pago explícitas del clienteExplicit remittance or payment address for the customer 123 Remit St New York, NY, 10001123 Remit St New York, NY, 10001
RemittanceAddressRecipientRemittanceAddressRecipient stringstring Nombre asociado a RemittanceAddressName associated with the RemittanceAddress Facturación de ContosoContoso Billing
ServiceStartDateServiceStartDate datedate Primera fecha del período de servicio (por ejemplo, un período de servicio de factura de la utilidad)First date for the service period (for example, a utility bill service period) 14/10/201910/14/2019 2019-10-142019-10-14
ServiceEndDateServiceEndDate datedate Fecha de finalización del período de servicio (por ejemplo, un período de servicio de factura de la utilidad)End date for the service period (for example, a utility bill service period) 14/11/201911/14/2019 14-11-20192019-11-14
PreviousUnpaidBalancePreviousUnpaidBalance numbernumber Saldo explícito no pagado previamenteExplicit previously unpaid balance 500,00 USD$500.00 500500

A continuación se muestran los elementos de línea extraídos de una factura en la respuesta de salida JSON (la siguiente salida usa esta factura de ejemplo)Following are the line items extracted from an invoice in the JSON output response (the output below uses this sample invoice)

NombreName TipoType DescripciónDescription Texto (elemento de línea n.º 1)Text (line item #1) Valor (salida estándar)Value (standardized output)
ElementosItems stringstring Línea de texto de cadena completa del elemento de líneaFull string text line of the line item 3/4/2021 A123 Consulting Services 2 hours $30.00 10% $60.003/4/2021 A123 Consulting Services 2 hours $30.00 10% $60.00
AmountAmount numbernumber La cantidad del elemento de líneaThe amount of the line item $60.00$60.00 100100
DescripciónDescription stringstring La descripción de texto para el elemento de la línea de facturaThe text description for the invoice line item Servicios de consultoríaConsulting service Servicios de consultoríaConsulting service
CantidadQuantity numbernumber La cantidad para este elemento de línea de facturaThe quantity for this invoice line item 22 22
UnitPriceUnitPrice numbernumber El precio neto o bruto (según la configuración de factura bruta de la factura) de una unidad de este elementoThe net or gross price (depending on the gross invoice setting of the invoice) of one unit of this item $30.00$30.00 3030
ProductCodeProductCode stringstring Código de producto, número de producto o SKU asociado al elemento de línea específicoProduct code, product number, or SKU associated with the specific line item A123A123
UnidadUnit stringstring Unidad del elemento de línea, por ejemplo, kg, lb, etc.The unit of the line item e.g kg, lb etc. horashours
FechaDate fechadate Fecha correspondiente a cada elemento de línea.Date corresponding to each line item. A menudo, se trata de la fecha en la que se envió el elemento de líneaOften this is a date the line item was shipped 3/4/20213/4/2021 2021-03-042021-03-04
ImpuestoTax numbernumber Impuestos asociados a cada elemento de línea.Tax associated with each line item. Los valores posibles incluyen importe de impuestos, porcentaje de impuestos e impuesto S/NPossible values include tax amount, tax %, and tax Y/N 10 %10%

Pasos siguientesNext steps

Consulte tambiénSee also