Spendint API - PUBLICAR /sn_spend_intg/spenint/invoice
Aceita faturas de provedores terceirizados.
Se as linhas da ordem de compra e da ordem de compra estiverem no status Envio pendente e as linhas da ordem de venda e da ordem de venda não estiverem preenchidas, a remessa e a publicação da fatura do revendedor terceirizado não serão permitidas. Só é permitido quando o status da ordem de compra e das linhas da ordem de compra são Solicitado. Além disso, não há restrição sequencial na remessa e na publicação da fatura.
- Aguardando entrega: Quando não há recibos, o pedido é parcialmente entregue ou a fatura requer aprovação.
- Fatura confirmada: Quando a ordem de compra é entregue e o valor faturado corresponde ao valor total da ordem de compra.
- Revisão: Quando a ordem de compra é entregue e o valor faturado não corresponde ao valor total da ordem de compra.
Quando uma fatura válida é publicada para um item de linha, a mesma fatura não pode ser atualizada.
Se a fatura fornecida não tiver um número de ordem de compra, a fatura será rejeitada e você verá uma mensagem de erro informando que uma ou mais faturas fornecidas não têm um número de ordem de compra. Se a fatura fornecida tiver um número de ordem de compra, mas não corresponder à ordem de compra ou não existir nenhuma ordem de compra, você verá uma mensagem de erro. A mensagem informa que uma ou mais faturas não têm uma ordem de compra correspondente que corresponda ao número da ordem de compra da fatura. Além disso, se o valor faturado enviado pelo revendedor terceirizado não corresponder ao valor faturado, a fatura será rejeitada.
Tabelas de status
Para saber o status da solicitação de fatura, faça uma chamada REST no ServiceNow banco de dados usando Tabela REST API. A resposta da API lista os registros em que a criação da fatura falhou. Para resposta da fatura, consulte a tabela Erro da fatura com o seguinte parâmetro:
se <supplier_id> você estiver usando o comando "outbound_error.supplier_id" "outbound_error.state", "outbound_error.state" é "20"
Os detalhes sobre o ID do cliente, ID do fornecedor, tipo de erro, ID do conjunto de importação exclusivo e estado podem ser encontrados na tabela Status de saída, que é a tabela de erros primária.
Formato de URL
/api/sn_sp_intg/spenint/invoice
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| modo | Suporte a modos assíncronos e síncronos para integração de terceiros. Tipo de dados: Cadeia de caracteres Valores válidos:
Padrão: Assíncrono |
| Nome | Descrição |
|---|---|
| moeda | Obrigatório. Moeda para subtotal, imposto e envio. O subtotal, o imposto e o envio devem estar na mesma moeda. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| customer_id | Identificador do cliente. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| descontos | Descontos aplicados à fatura. Este é um campo editável. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| invoice_date | Obrigatório. Data em que o cliente foi faturado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 FORMATO: AAAA-MM-DD |
| invoice_lines | Lista de objetos que definem as linhas que estão sendo faturadas para compras neste pedido. Tipo de dados: Matriz |
| invoice_lines.invoiced_line_amount | Obrigatório. Custo total, excluindo impostos e envio, que um cliente está sendo faturado para uma determinada linha de ordem de compra. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| invoice_lines.invoiced_quantity | Obrigatório. Quantidade de bens ou serviços pelos quais um cliente está sendo faturado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| invoice_lines.line_number | Obrigatório. Número da linha da ordem de compra que é gerado pelo cliente para uma compra específica. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| invoice_lines.sales_order_line_number | Obrigatório. Número da linha do pedido de vendas gerado pelo fornecedor. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| invoice_lines.supplier_invoice_line_number | Obrigatório. Número de identificação gerado por um fornecedor para esta linha de fatura. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| other_charges | Outras cobranças adicionais associadas à fatura. Este é um campo editável. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| order_number | Obrigatório. Número da ordem de compra fornecido pelo cliente para esta ordem. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| remit_to_address | Obrigatório. Local para o qual um pagamento é feito. Tipo de dados: Cadeia de caracteres Comprimento máximo: 1000 |
| sales_order_number | Obrigatório. Número ou valor gerado pelo fornecedor para este pedido. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| remessa | Obrigatório. Custo total de envio para toda a compra. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| subtotal | Obrigatório. Valor total a ser pago ao fornecedor, excluindo impostos e despesas de envio. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| supplier_id | Obrigatório. Identificador do revendedor ou fornecedor com o qual o cliente pode fazer pedidos. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| supplier_invoice_number | Obrigatório. Número de identificação gerado por um fornecedor para esta fatura. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| supplier_tax_id | Identificador de imposto associado ao revendedor terceirizado. Este é um campo editável. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| imposto | Obrigatório. Valor total de impostos faturados pela compra. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| tax_rate | Percentual da alíquota de imposto aplicada ao pedido. Este é um campo editável. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| third_party_import_id | Identificador que permite que um terceiro passe um valor de cadeia de caracteres para identificar exclusivamente um conjunto de dados importados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| total_amount_faturado | Obrigatório. Valor total a ser pago ao fornecedor, incluindo impostos e despesas de envio. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml. Padrão: application/json |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP.
| Código do status | Descrição |
|---|---|
| êxito | Bem-sucedido. A solicitação foi processada com sucesso. |
| falha | Malsucedido. A solicitação foi processada com erros. |
Parâmetros do corpo da resposta (JSON)
Esses parâmetros do corpo de resposta são recebidos quando consultados no modo síncrono.| Nome | Descrição |
|---|---|
| error_response_body | Descrição dos erros, listados pelo número da linha da ordem de venda, número da ordem de venda, número da fatura do fornecedor, número da linha da fatura do fornecedor e mensagem de erro. Tipo de dados: Matriz |
| error_response_body.error_message | Mensagem de erro detalhada. Tipo de dados: Cadeia de caracteres |
| status_code | Status da resposta, como "Sucesso" ou "Falha". Tipo de dados: Cadeia de caracteres |
Solicitação de curl
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/invoice" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"supplier_invoice_number": "QAAP89873220071",
"supplier_tax_id": "TIN000000",
"order_number": "POL7987633",
"sales_order_number": "SO0000000081",
"invoice_date": "YYYY-MM-DD",
"subtotal": "6000",
"tax_rate": "10%",
"tax": "600",
"shipping": "120",
"other_charges": "100",
"discounts": "200",
"total_amount_invoiced": "6620",
"remit_to_address": "1640 Camino Del Rio North #202, San Diego,CA",
"currency": "USD",
"invoice_lines": [
{
"supplier_invoice_line_number": "QA789A867877ABN32251",
"line_number": "POL587667",
"sales_order_line_number": "SOL00000081",
"invoiced_quantity": "45",
"invoiced_line_amount": "4000"
},
{
"line_number": "POL587668",
"supplier_invoice_line_number": "78987323",
"sales_order_line_number": "SOL98769",
"invoiced_quantity": "12",
"invoiced_line_amount": "2000"
}
]
}
]}
Possíveis respostas:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL00000081",
"sales_order_number": "SO0000000081",
"supplier_invoice_number": "QAAP89873220071",
"supplier_invoice_line_number": "QA789A867877ABN32251",
"error_message": "The invoice do not have a corresponding purchase order which matches the purchase order number of the invoice provided\n"
}
]
}
]
}
}