Recebíveis (Sale)

As recebíveis devem ser acessados de maneira aninhada à entidade (Entity) à qual a conta de recebível pertence.

Parâmetros

- payment_method           | string   | Forma de pagamento
                                        Lista habilitada na Conta de recebível
- issuer                   | string   | Bandeira
                                          Para formas de pagamento de cartão(credit, debit, parcelled):
                                          - Desconhecida
                                          - Nome de bandeira de cartão (consultar lista no menu lateral)
                                          Para forma de pagamento voucher:
                                          - Ticket Restaurante
                                          - VR Refeição
                                          - Sodexo
                                          - Alelo
                                          - ValeCard
- document                 | string   | Identificador do documento com no máximo 20 caracteres
- document_emission_date   | date     | Data do documento
- occurred_at              | date     | Data de ocorrência
- confirmed_at             | date     | Data de confirmação do recebível
- competency_month         | string   | Mês de competência do recebível
- estimated_liquidated_at  | date     | Data prevista de liquidação do recebível
- liquidated_at            | date     | Data de liquidação efetiva do recebível
- description              | string   | Descrição do recebível
- observation              | text     | Observações sobre o recebível
- status                   | integer  | Situação do recebível
                                        0 - aguardando aplicação de regra
                                        1 - aguardando liquidação
                                        2 - liquidado
                                        3 - liquidado e conciliado
- nominal_amount           | decimal  | Valor nominal do recebível
- interest_amount          | decimal  | Valor dos juros do recebível
- ticket_amount            | decimal  | Valor da multa do recebível
- discount_amount          | decimal  | Valor do desconto do recebível
- amount_difference        | decimal  | Valor excedente ou restante ao receber quantia diferente do valor a receber
- total_amount             | decimal  | Valor calculado a partir do valor nominal e dos valores de multa, juros e desconto
- fee_percentage_amount    | decimal  | Valor da taxa percentual (R$)
- fee_percentage           | integer  | Taxa percentual (%) utilizada
- fixed_fee_amount         | decimal  | Valor taxa fixa (R$)
- net_amount               | decimal  | Valor líquido(total_amount) - soma de impostos retidos na fonte
- receivable_amount        | decimal  | Valor a receber do recebível. Calculado a partir do total_amount e da aplicação de regras
- days_to_liquidation      | integer  | Quantidade de dias até a liquidação do recebível
- installment_number       | integer  | Número da parcela do recebível
- installment_count        | integer  | Quantidade total de parcelas
- original_sale_id         | integer  | Identificador do Recebível original que criou essa parcela
- financial_account_id     | integer  | Identificador da conta receber a qual o recebível pertence
- sale_account_id          | integer  | Identificador da conta de recebível ao qual o recebível pertence
- classification_center_id | integer  | Identificador da centro de custo/receita associado ao recebível
- person_id                | integer  | Identificador do cliente/fornecedor associado ao recebível
- category_id              | integer  | Identificador da categoria associada ao recebível
- custom_classifications   | array    | Array de classificadores personalizados
                                        Deve ser passado o nome do classificador personalizado e seu valor
- liquidation_weekday      | integer  | Dia da semana em que o recebível será liquidado
                                        0 - Domingo
                                        1 - Segunda
                                        2 - Terça
                                        3 - Quarta
                                        4 - Quinta
                                        5 - Sexta
                                        6 - Sábado
- document                 | string   | Identificador do documento com no máximo 20 caracteres
- document_emission_date   | date     | Data do documento
- provider_code            | string   | Código do provedor

Exemplo de Busca Avançada

GET /entities/:id/sales?search[sale_account_id]=1

Filtros disponíveis para Busca Avançada

- sale_account_id                       | yes      | Filtrar pelo ID de Conta de Recebíveis
- receivable_account_id                 | no       | Filtrar pelo ID de Conta a Receber
- status                                | no       | status de forma exata
                                                     0 - aguardando aplicação de regra
                                                     1 - aguardando liquidação
                                                     2 - liquidado
                                                     3 - liquidado e conciliado
                                                     4 - inválido
- payment_method                        | no       | Método de pagamento de forma exata
                                                     billet - Boleto Bancário
                                                     cash - Dinheiro
                                                     cheque - Cheque
                                                     credit - Crédito
                                                     debit - Débito
                                                     deposit - Depósito
                                                     transfer - Transferência Bancária
                                                     parcelled - Crédito parcelado
- issuer                                | no       | Bandeira do cartão de crédito de forma exata
                                                     MasterCard
                                                     Visa
                                                     American Express
                                                     Aura
                                                     Diners Club
                                                     Elo
                                                     Cabal
                                                     Sorocred
                                                     Sicredi
                                                     Hipercard
                                                     Santander
                                                     Pleno Card
                                                     Personal Card
                                                     BrasilCard
                                                     FortBrasil
                                                     CardBan
                                                     ValeCard
                                                     Avista
                                                     Banese
                                                     GBarbosa
                                                     JCB
                                                     Discover
- occurred_at_gte                       | no       | Data é maior ou igual?
- occurred_at_lte                       | no       | Data é menor ou igual?
- liquidated_at_gte                     | no       | Liquidada em é maior ou igual?
- liquidated_at_lte                     | no       | Liquidada em é menor ou igual?
- estimated_liquidated_at_gte           | no       | Data prevista de liquidação é maior ou igual?
- estimated_liquidated_at_lte           | no       | Data prevista de liquidação é menor ou igual?
- confirmed_at_gte                      | no       | Data de confirmação é maior ou igual?
- confirmed_at_lte                      | no       | Data de confirmação é menor ou igual?
- competency_month_gte                  | no       | Mês de competência é maior ou igual?
- competency_month_lte                  | no       | Mês de competência é menor ou igual?
- document_emission_date_gte            | no       | Data de documento é maior ou igual?
- document_emission_date_lte            | no       | Data de documento é menor ou igual?
- nominal_amount_gte                    | no       | Valor nominal é maior ou igual?
- nominal_amount_lte                    | no       | Valor nominal é menor ou igual?
- fee_percentage_amount_gte             | no       | Valor da taxa percentual é maior ou igual?
- fee_percentage_amount_lte             | no       | Valor da taxa percentual é menor ou igual?
- fee_percentage_gte                    | no       | Taxa percentual (%) é maior ou igual?
- fee_percentage_lte                    | no       | Taxa percentual (%) é menor ou igual?
- fixed_fee_amount_gte                  | no       | Taxa fixa é maior ou igual?
- fixed_fee_amount_lte                  | no       | Taxa fixa é menor ou igual?
- interest_amount_gte                   | no       | Juros é maior ou igual?
- interest_amount_lte                   | no       | Juros é menor ou igual?
- ticket_amount_gte                     | no       | Multa é maior ou igual?
- ticket_amount_lte                     | no       | Multa é menor ou igual?
- discount_amount_gte                   | no       | Desconto é maior ou igual?
- discount_amount_lte                   | no       | Desconto é menor ou igual?
- amount_difference_gte                 | no       | Diferença é maior ou igual?
- amount_difference_lte                 | no       | Diferença é menor ou igual?
- total_amount_gte                      | no       | Total do recebível é maior ou igual?
- total_amount_lte                      | no       | Total do recebível é menor ou igual?
- total_taxes_gte                       | no       | Total do impostos é maior ou igual?
- total_taxes_lte                       | no       | Total do impostos é menor ou igual?
- document_equals                       | no       | Documento de forma exata
- provider_code_equals                  | no       | Código do provedor de forma exata
- description_contains                  | no       | Descrição contém
- observation_contains                  | no       | Observação contém
- person_id_is_null                     | no       | ID do Cliente é nulo
- person_name_equals                    | no       | Nome do Cliente de forma exata
- classification_center_id_is_null      | no       | ID do Centro de receita é nulo
- classification_center_name_equals     | no       | Nome do Centro de receita de forma exata
- category_id_is_null                   | no       | ID da categoria é nulo
- category_full_name_equals             | no       | Nome completp da categoria de forma exata
- subcategory_is_null                   | no       | Usa com nome completo da categoria se deve incluir subcategories
- custom_classifications_equal          | no       | Filtrar por uma combinação de Classificadores Personalizados

Listar recebíveis

GET /entities/:entity_id/sales

Exibe os recebíveis da entidade especificada.

Retorna uma lista (paginada) de todas as Recebíveis do Entity que usuários possui acesso. Para designar o número de registros por página, passar o parâmetro per_page no endpoint. Caso o parâmetro não seja passado, o default de 50 será utilizado. O limite superior é de 500 registros por página. Para navegar entre as diferentes páginas, basta usar o parâmetro page. Exemplo:

GET /entities/:entity_id/sales?per_page=15&page=3

O endpoint acima irá retornar a terceira página da listagem de Recebíveis com 15 registros em cada.

Exemplo de Resposta

HTTP/1.1 200 OK
Date: Mon, 17 Jan 2011 20:00:02 GMT
Content-Type: application/json; charset=utf-8
[
  {
    "sale": {
      "id": 3,
      "nominal_amount": "36.0",
      "interest_amount": null,
      "ticket_amount": null,
      "discount_amount": null,
      "total_amount": "36.0",
      "fixed_fee_amount": null,
      "amount_difference": null,
      "net_amount": "36.0",
      "fee_percentage": "0.0",
      "fee_percentage_amount": null,
      "receivable_amount": null,
      "issuer": "Banese",
      "payment_method": "credit",
      "status": 0,
      "summary": false,
      "document": "DOC12",
      "document_emission_date": "2018-02-15",
      "provider_code" => "PRDORWQRW124421",
      "description": "Venda 36",
      "observation": "",
      "category_id": null,
      "classification_center_id": null,
      "person_id": null,
      "days_to_liquidation": 0,
      "sale_account_id": 1,
      "financial_account_id": null,
      "liquidation_weekday": null,
      "estimated_liquidated_at": null,
      "liquidated_at": null,
      "occurred_at": "2017-07-05",
      "confirmed_at": "2017-07-05",
      "created_at": "2017-07-05T12:25:17-03:00",
      "updated_at": "2017-07-05T12:25:17-03:00",
      "competency_month": "2017-07",
      "installment_number": null,
      "installment_count": null,
      "original_sale_id": null,
      "installments": [],
      "custom_classifications": [
        {
          "id": 27,
          "custom_classifier_id": 1,
          "custom_classifier_name": "Região",
          "value": "Sudeste", # DEPRECATED
          "name": "Sudeste",
          "amount": 36,
          "percentage": 100
        }
      ],
      "classification_center_classifications":[
        {
          id: "27",
          classification_center_id: 1,
          name: "Sudeste",
          percentage: "100.0",
          amount: "36.0"
        }
      ],
      "tax_charges": [
        {
          "id": 1,
          "tax_id": 1,
          "amount": "20.0"
        }
      ]
      "attachments": [],
      "links": []
    }

    }
  },
]
HTTP/1.1 200 OK
Date: Mon, 17 Jan 2011 20:00:02 GMT
Content-Type: application/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<sales type="array">
  <sale>
    <custom-classifications type="array">
      <custom-classification>
        <id type="integer">27</id>
        <custom-classifier-id type="integer">1</custom-classifier-id>
        <custom-classifier-name>Região</custom-classifier-name>
        <value>Sudeste</value> # DEPRECATED
        <name>Sudeste</name>
        <percentage type="decimal">100.0</percentage>
        <amount type="decimal">36.0</amount>
      </custom-classification>
    </custom-classifications>
    <classification-center-classifications type="array">
      <classification-center-classification>
        <id type="integer">27</id>
        <classification-center-id type="integer">1</classification-center-id>
        <name>Sudeste</name>
        <percentage type="decimal">100.0</percentage>
        <amount type="decimal">36.0</amount>
      </classification-center-classification>
    </classification-center-classifications>
    <id type="integer">3</id>
    <nominal-amount type="decimal">36.0</nominal-amount>
    <interest-amount nil="true"/>
    <ticket-amount nil="true"/>
    <discount-amount nil="true"/>
    <total-amount type="decimal">36.0</total-amount>
    <fixed-fee-amount nil="true"/>
    <amount-difference nil="true"/>
    <net-amount type="decimal">36.0</net-amount>
    <fee-percentage type="decimal">0.0</fee-percentage>
    <fee-percentage-amount nil="true"/>
    <receivable-amount nil="true"/>
    <issuer>Banese</issuer>
    <payment-method>credit</payment-method>
    <installment-number nil="true"/>
    <installment-count nil="true"/>
    <original-sale-id nil="true"/>
    <status type="integer">0</status>
    <summary type="boolean">false</summary>
    <document>DOC12</document>
    <document-emission-date type="date">2018-02-15</document-emission-date>
    <provider-code>PRDORWQRW124421</provider-code>
    <description>Venda 36</description>
    <observation></observation>
    <category-id nil="true"/>
    <classification-center-id nil="true"/>
    <person-id nil="true"/>
    <days-to-liquidation type="integer">0</days-to-liquidation>
    <sale-account-id type="integer">1</sale-account-id>
    <financial-account-id nil="true"/>
    <liquidation-weekday nil="true"/>
    <estimated-liquidated-at nil="true"/>
    <liquidated-at nil="true"/>
    <occurred-at type="date">2017-07-05</occurred-at>
    <confirmed-at type="date">2017-07-05</confirmed-at>
    <created-at type="datetime">2017-07-05T12:25:17-03:00</created-at>
    <updated-at type="datetime">2017-07-05T12:25:17-03:00</updated-at>
    <competency-month>2017-07</competency-month>
    <tax-charges type="array">
      <tax-charges>
        <id type="integer">1</id>
        <tax-id type="integer">1</tax-id>
        <amount type="decimal">20.0</amount>
      </tax-charges>
    </tax-charges>
    <installments type="array"/>
    <attachments type="array"/>
    <links type="array"/>
  </sale>
</sales>

Exibir um recebível

GET /entities/:entity_id/sales/:id

Exibe os atributos da conta especificada retornando 200 Ok.

Exemplo de Resposta

HTTP/1.1 200 OK
Date: Mon, 17 Jan 2011 20:00:02 GMT
Content-Type: application/json; charset=utf-8
{
  "sale": {
    "id": 3,
    "nominal_amount": "36.0",
    "interest_amount": null,
    "ticket_amount": null,
    "discount_amount": null,
    "total_amount": "36.0",
    "fixed_fee_amount": null,
    "amount_difference": null,
    "net_amount": "36.0",
    "fee_percentage": "0.0",
    "fee_percentage_amount": null,
    "receivable_amount": null,
    "issuer": "Banese",
    "payment_method": "credit",
    "status": 0,
    "summary": false,
    "document": "DOC12",
    "document_emission_date": "2018-02-15",
    "provider_code" => "PRDORWQRW124421",
    "description": "Venda 36",
    "observation": "",
    "category_id": null,
    "classification_center_id": null,
    "person_id": null,
    "days_to_liquidation": 0,
    "sale_account_id": 1,
    "financial_account_id": null,
    "liquidation_weekday": null,
    "estimated_liquidated_at": null,
    "liquidated_at": null,
    "occurred_at": "2017-07-05",
    "confirmed_at": "2017-07-05",
    "created_at": "2017-07-05T12:25:17-03:00",
    "updated_at": "2017-07-05T12:25:17-03:00",
    "competency_month": "2017-07",
    "installment_number": null,
    "installment_count": null,
    "original_sale_id": null,
    "installments": [],
    "custom_classifications": [
      {
        "id": 27,
        "custom_classifier_id": 1,
        "custom_classifier_name": "Região",
        "value": "Sudeste", # DEPRECATED
        "name": "Sudeste",
        "amount": 36,
        "percentage": 100
      }
    ],
    "classification_center_classifications":[
      {
        id: "27",
        classification_center_id: 1,
        name: "Sudeste",
        percentage: "100.0",
        amount: "36.0"
      }
    ],
    "tax_charges": [
      {
        "id": 1,
        "tax_id": 1,
        "amount": "20.0"
      }
    ]
    "attachments": [],
    "links": []
  }
}
HTTP/1.1 200 OK
Date: Mon, 17 Jan 2011 20:00:02 GMT
Content-Type: application/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<sale>
  <custom-classifications type="array">
    <custom-classification>
      <id type="integer">27</id>
      <custom-classifier-id type="integer">1</custom-classifier-id>
      <custom-classifier-name>Região</custom-classifier-name>
      <value>Sudeste</value> # DEPRECATED
      <name>Sudeste</name>
      <percentage type="decimal">100.0</percentage>
      <amount type="decimal">36.0</amount>
    </custom-classification>
  </custom-classifications>
  <classification-center-classifications type="array">
    <classification-center-classification>
      <id type="integer">27</id>
      <classification-center-id type="integer">1</classification-center-id>
      <name>Sudeste</name>
      <percentage type="decimal">100.0</percentage>
      <amount type="decimal">36.0</amount>
    </classification-center-classification>
  </classification-center-classifications>
  <id type="integer">3</id>
  <nominal-amount type="decimal">36.0</nominal-amount>
  <interest-amount nil="true"/>
  <ticket-amount nil="true"/>
  <discount-amount nil="true"/>
  <total-amount type="decimal">36.0</total-amount>
  <fixed-fee-amount nil="true"/>
  <amount-difference nil="true"/>
  <net-amount type="decimal">36.0</net-amount>
  <fee-percentage type="decimal">0.0</fee-percentage>
  <fee-percentage-amount nil="true"/>
  <receivable-amount nil="true"/>
  <issuer>Banese</issuer>
  <payment-method>credit</payment-method>
  <installment-number nil="true"/>
  <installment-count nil="true"/>
  <original-sale-id nil="true"/>
  <status type="integer">0</status>
  <summary type="boolean">false</summary>
  <document>DOC12</document>
  <document-emission-date type="date">2018-02-15</document-emission-date>
  <provider-code>PRDORWQRW124421</provider-code>
  <description>Venda 36</description>
  <observation></observation>
  <category-id nil="true"/>
  <classification-center-id nil="true"/>
  <person-id nil="true"/>
  <days-to-liquidation type="integer">0</days-to-liquidation>
  <sale-account-id type="integer">1</sale-account-id>
  <financial-account-id nil="true"/>
  <liquidation-weekday nil="true"/>
  <estimated-liquidated-at nil="true"/>
  <liquidated-at nil="true"/>
  <occurred-at type="date">2017-07-05</occurred-at>
  <confirmed-at type="date">2017-07-05</confirmed-at>
  <created-at type="datetime">2017-07-05T12:25:17-03:00</created-at>
  <updated-at type="datetime">2017-07-05T12:25:17-03:00</updated-at>
  <competency-month>2017-07</competency-month>
  <tax-charges type="array">
    <tax-charges>
      <id type="integer">1</id>
      <tax-id type="integer">1</tax-id>
      <amount type="decimal">20.0</amount>
    </tax-charges>
  </tax-charges>
  <installments type="array"/>
  <attachments type="array"/>
  <links type="array"/>
</sale>

Criar recebível

POST /entities/:entity_id/sales

Cria uma nova conta do tipo especificado.

HTTP/1.1 201 Created
Date: Mon, 24 Apr 2017 20:29:57 GMT
Content-Type: application/json; charset=utf-8
Location: https://app.myfinance.com.br/entities/67/sales/2
{
  "sale":
    {
      "sale_account_id": 1,
      "nominal_amount": 139.90,
      "occurred_at": "2017-04-24",
      "description":"Camiseta Listrada",
      "payment_method": "credit",
      "issuer": "MasterCard",
      "custom_classifications": [
        {
          "custom_classifier_id": 1,
          "name": "Norte",
          "amount": 139.9,
        }],
      "classification_center_classifications":[
        {
          classification_center_id: 1,
          name: "Sudeste",
          amount: "68.5"
        }
      ],
      "tax_charges": [
        {
          "tax_id": 1,
          "amount": "20.0"
        }
      ]
    }
}
HTTP/1.1 201 Created
Date: Mon, 24 Apr 2017 20:29:57 GMT
Content-Type: application/xml; charset=utf-8
Location: https://app.myfinance.com.br/entities/67/sales/2
<sale>
  <nominal-amount type="decimal">139.9</nominal-amount>
  <issuer>MasterCard</issuer>
  <payment-method>credit</payment-method>
  <description>Camiseta Listrada</description>
  <sale-account-id type="integer">1</sale-account-id>
  <occurred-at type="date">2017-04-24</occurred-at>
  <custom-classifications type="array">
    <custom-classification>
      <custom-classifier-id>1</custom-classifier-id>
      <name>Norte</name>
      <amount type="decimal">139.9</amount>
    </custom-classification>
  </custom-classifications>
  <classification-center-classifications type="array">
    <classification-center-classification>
      <classification-center-id type="integer">1</classification-center-id>
      <name>Sudeste</name>
      <amount type="decimal">36.0</amount>
    </classification-center-classification>
  </classification-center-classifications>
  <tax-charges type="array">
    <tax-charge>
      <tax-id type="integer">1</tax-id>
      <amount type="decimal">20.0</amount>
    </tax-charge>
  </tax-charges>
</sale>

Alterar um recebível

PUT /entities/:entity_id/sales/:id

Altera os dados do recebível especificado. Retorna uma resposta vazia com status 200 OK.

Em caso de erro, retorna os erros que impediram de alterar o recurso.

Exemplo de Requisição

{
  "sale":
    {
      "description":"Camiseta Lisa"
    }
}
<sale>
  <description>Camiseta Lisa</description>
</sale>

Anexo

Primeiro deve ser criado o Anexo(vide ao lado a aba Anexos). Depois disso é preciso passar o id no campo attachment_id_list.

Exemplo de Requisição

{
  "sale":
    {
      "attachment_id_list":["1"]
    }
}
<sale>
  <attachment_id_list>["1"]</attachment_id_list>
</sale>

Apagar um recebível

Exemplo de Requisição

DELETE /entities/:entity_id/sales/:id

Apaga um recebível especificada.