Totvs custom tabs box items |
---|
default | yes |
---|
referencia | paso05 |
---|
| Clientes- Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Archivos > Clientes".
- Incluir un nuevo Cliente que contenga los datos obligatorios y la siguiente información requerida para la Facturación Electrónica:
- NIT (A1_CGC) - Número de Documento de Identidad.
- Tp.Doc.Ident (A1_TIPDOC) - Tipo de Documento de Identidad debe pertenecer al catálogo de Tipo Documento Identidad
- Comp ID (A1_CLDOCID) - Complemento de identidad, este campo se informa cuando exista el complemento de identidad.
*Validación de NIT DMICNS-13951 DT NIT Validación Vulcan BOL Monedas- Dentro del módulo de Contabilidad de Gestión (SIGACTB), acceda a "Actualizaciones > Archivos > Monedas Contables".
- Modificar las monedas a utilizar con la siguiente información requerida para Facturación Electrónica:
- Tipo Moneda (CTO_MOESAT) - Código de moneda del catálogo de Monedas proporcionado por el SIN.
Países- Dentro del módulo de Compras (SIGACOM), acceda a "Actualizaciones > Archivo importaciones > Países".
- Modificar el País "Bolivia" con la siguiente información requerida para Facturación Electrónica:
- Pais Origen (YA_CODERP) - Código del País del catálogo de País Origen proporcionado por el SIN.
Control de formularios Dentro del módulo de Libros Fiscales (SIGAFIS), acceda a "Actualizaciones | Archivos | Contr. Formularios". - Informar en las series si realiza transmisión online.
- Trans Online (FP_TPTRANS) - 1 - Si; Realiza transmisión online, 2 - No; No realiza transmisión online.
- En caso de ser una serie para facturas de exportación informarlo.
- Tipo Doc (FP_TPDOC) - 1=Nacional, 2=Exportación
TES - Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Archivos > Tipos de Entradas y salidas".
- Las TES que contengan IVA deberán estar configuradas de la siguiente manera:
- Suma en Titl: 3 - Infiferente
- Suma Tot Fac: 3 - Indiferente
- Indiferente: 3 - Indiferente
- Al realizar la transmisión a impuestos es necesario tener incluido el IVA en los valores informados.
Incoterms - Dentro del módulo de Compras (SIGACOM), acceda a "Actualizaciones > Archivo Importaciones > Incoterms".
- Realizar la captura de los registro a ser utilizados en las facturas de exportación.
Productos - Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Archivos > Productos".
DMICNS-13690 DT Registro de productos en Vulcan BOL |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | paso06 |
---|
| - Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Facturación > Facturaciones".
- Incluir una nueva Factura de Venta.
- Indicar los datos de encabezado.
- Indicar los siguientes campos necesarios para la Facturación Electrónica:
- Cod. Met Pago (F2_MODCONS)- Método de pago con el que se realiza la Factura este debe corresponder al catálogo de Métodos de Pago.
- Tipo Doc. Sec. (F2_TPDOC) - Tipo de Documento a emitir del sector de la empresa, este debe corresponder al catálogo de Tipo Documento Sector.
- Núm. Tarjeta (F2_IDRGS) - Este solo se deberá informar, cuando el método de Pago sea 2 - "Tarjeta", hasta 16 caracteres.
- Indicar los ítems de Factura.
- Guardar la Factura.
Factura de exportación. - Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Pedidos > Pedidos de Venta".
- Registrar un pedido de venta:
- Indicar los siguientes campos necesarios para la Facturación Electrónica.
- Cod. Met Pago (C5_CODMPAG)- Método de pago con el que se realiza la Factura este debe corresponder al catálogo de Métodos de Pago.
- Tipo Doc. Sec. (C5_TPDOCSE) - Tipo de Documento a emitir del sector de la empresa, este debe corresponder al catálogo de Tipo Documento Sector.
- Núm. Tarjeta (C5_NUMTARG) - Este solo se deberá informar, cuando el método de Pago sea 2 - "Tarjeta", hasta 16 caracteres.
- Incoterms (C5_INCOTER)- Incoterm utilizado para la factura de exportación.
- Cod. País (C5_PAISENT) - País de entrega para la factura de exportación.
- Puerto Dest. (C5_DESTPOR) - Puerto destino para la factura de exportación.
- Lugar Dest. (C5_DESTPLA) - Lugar de destino para la factura de exportación.
- Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Facturación > Generación de Notas".
- Seleccionar el pedido antes generado y realizar la generación de la factura.
- Indicar una serie del control de formularios configurada como exportación. (2=Exportación).
*Si la serie utilizada realiza transmisión online, se realizará la transmisión y podrá consultarse en el módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Facturación > Transmisión Electrónica " |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | paso07 |
---|
| - Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Facturación > Generac. de Notas de Crédito y Débito".
- Incluir una Nota de Débito.
- Indicar los datos de encabezado.
- Indicar los siguientes campos necesarios para la Facturación Electrónica:
- Cod. Met Pago (F1_MODCONS) - Método de pago con el que se realiza la Nota de Crédito, este debe corresponder al catálogo de Métodos de Pago:
- Tip. Doc. Sec. (F1_TIPNOTA) - Tipo de Documento a emitir del sector de la empresa, este debe corresponder al catálogo de Tipo Documento Sector:
- Núm. Tarjeta (F1_IDRGS) - Este solo se deberá informar cuando el método de Pago sea 2 - "Tarjeta", hasta 16 caracteres:
- Deberá ser informada la información del documento y serie original.
- Guardar la Nota de Débito.
*Si la serie utilizada realiza transmisión online, se realizará la transmisión y podrá consultarse en el módulo de Facturación (SIGAFAT) "Actualizaciones > Facturación > Transmisión Electrónica " |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | paso08 |
---|
| - Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Facturación > Generac. de Notas de Crédito y Débito".
- Incluir una Nota de Crédito.
- Indicar los datos de encabezado.
- Indicar los siguientes campos necesarios para la Facturación Electrónica:
- Cod. Met Pago (F1_MODCONS) - Método de pago con el que se realiza la Nota de Crédito, este debe corresponder al catálogo de Métodos de Pago:
- Tip. Doc. Sec. (F1_TIPNOTA) - Tipo de Documento a emitir del sector de la empresa, este debe corresponder al catálogo de Tipo Documento Sector:
- Núm. Tarjeta (F1_IDRGS) - Este solo se deberá informar cuando el método de Pago sea 2 - "Tarjeta", hasta 16 caracteres:
- En el menú "Otras acciones" seleccionar la opción "Doc. Origen", para seleccionar el documento por el cual se realizará el abono al cliente:
Seleccionar las Facturas:
- Seleccionar la factura:
Se cargan los ítems de la factura seleccionada: Automáticamente se indica el documento original, la serie y el ítem:
- Guardar la Nota de Crédito.
*Si la serie utilizada realiza transmisión online, se realizará la transmisión y podrá consultarse en el módulo de Facturación (SIGAFAT) "Actualizaciones > Facturación > Transmisión Electrónica " |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | paso09 |
---|
| - Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Facturación > Transmisión Electrónica ".
- Indicar los parámetros:
- ¿Tipo de Documento? - Tipo de Documentos que se desean visualizar en el browse (Factura o Nota de Crédito ).
- ¿Serie? - Serie de los Documentos que se desean visualizar en el browse.
- ¿Estatus? - Estatus de los Documentos que se desean visualizar en el browse (1-No transmitido ,2-Recibido, 3-Esperando Procesamiento, 4-Documento Rechazado, 5-Documento Autorizado, 6-Anulación Rechazada, 7-Anulación pendiente de confirmar, 8-Anulación confirmada).
- ¿Fecha Inicial? - Fecha Inicial de los Documentos que se desean visualizar en el browse.
- ¿Fecha Final? - Fecha Inicial de los Documento que se desean visualizar en el browse.
Nota: Asignar estatus = "0", para mostrar todos los documentos sin importar el estatus.
Transmisión El proceso consiste en la recepción del documento fiscal por parte del SIN (Servicio de Impuestos Nacionales) - De clic en "Transmitir".
- Indicar los parámetros:
- ¿Serie del documento? - Serie del o los Documento(s) que se desean transmitir.
- ¿Documento Inicial? - Fecha Inicial de o los Documento(s) que se desean transmitir.
- ¿Documento Final? - Fecha Inicial de o los Documento(s) que se desean transmitir.
- Confirmar la transmisión.
- Se realiza la transmisión.
- Se visualiza el LOG de la transmisión realizada.
El documento cambia su estatus a "Recibido"
- Se realiza la Transmisión exitosa.
Si hay errores en la transmisión, estos serán informados en el LOG: El documento cambia el estatus a "Documento rechazado".
Imprimir PDF Permite imprimir o enviar por correo los comprobantes. - De clic en "Otras acciones | Imprimir PDF".
- Indicar los parámetros:
- ¿Serie del documento? - Serie del o los Documento(s) que se desean imprimir.
- ¿Documento Inicial? - Documento Inicial del rango que se desea imprimir.
- ¿Documento Final? - Documento Inicial del rango que se desea imprimir.
- ¿Formato? - 1 - PDF; 2 - E-Mail
- Confirmar la impresión.
- Si fue seleccionado el formato PDF será abierto el documento PDF.
- Si fue seleccionado el formato E-Mail serán enviados el archivo XML y PDF al correo informado en el cliente de la factura.
Monitor Permite consultar documentos con estatus pendiente. - De clic en "Monitor".
- Indicar los parámetros:
- ¿Serie del documento? - Serie del o los Documento(s) que se desean consultar.
- ¿Documento Inicial? - Documento Inicial del rango que se desea consultar.
- ¿Documento Final? - Documento Inicial que se desea consultar.
- Confirmar la consulta.
- Se realiza la consulta.
- Se muestra una ventana con los documentos consultados y mostrados el estatus actual.
- Si hubo cambios de estatus los documento son actualizados.
Anulación Fact. Electrónica - De clic en "Otras acciones | Anulación Fact. Electrónica".
- Indicar los parámetros:
- ¿Serie de la Factura? - Serie del o los Documento(s) que se desean anular.
- ¿Documento Inicial? - Documento Inicial del rango que se desea anular.
- ¿Documento Final? - Documento Inicial del rango que se desea anular.
- ¿Motivo? - Motivo por el cual se realiza la anulación. Seleccionar una opción de la consulta estándar.
- Confirmar la anulación.
- Se mostrará una venta con los documentos ya transmitidos.
- Seleccionar los documentos a anular.
- Confirmar la anulación.
- Se realiza la anulación.
- Se visualiza el LOG de la anulación realizada.
El documento cambia su estatus a "Anulado"
- Se realiza la Anulación exitosa.
Si hay errores en la anulación, estos serán informados en el LOG:
*La anulación/borrado de documentos que hayan sido transmitidos no se podrá realizar. Para realizar el borrado/anulación de documentos transmitidos primero se deberá de realizar la anulación de la factura electrónica por medio de la rutina Transmisión Electrónica (Mata486). |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | paso10 |
---|
| En caso de ser necesario modificar el objeto json antes ser transmitido existen puntos de entrada habilitados para realizar esta operación. Para documentos de salida (NF, NDC) utilizar el punto de entrada M486SJSON habilitado para realizar esta operación. Ejemplos de uso: Bloco de código |
---|
#INCLUDE "TOTVS.CH"
User Function M486SJSON()
Local cJson := PARAMIXB[1]
Local oJson := JsonObject():new()
Local ret := oJson:fromJson(cJson)
If ValType(ret) == "U"
Conout("JsonObject creado con éxito.")
Else
Conout("Falla al crear el JsonObject. Error: " + ret)
Endif
//Ejemplos de actualización de propiedades.
oJson['id'] := "A123456789" //Id del comprobante
oJson['documentTypeCode'] := 5 //Tipo de documento de identidad
oJson['documentNumber'] := "123456789" //Número de documento de identidad.
oJson['customerCode'] := "Código de cliente"
oJson['name'] := "Nombre de cliente"
oJson['extraCustomerAddress'] := "Dirección de cliente"
oJson['emailNotification'] := "Correo para envio de xml/pdf"
cJson := oJson:toJson()
Return cJson |
Para documentos de entrada (NCC) utilizar el punto de entrada M486EJSON habilitado para realizar esta operación. Ejemplos de uso: Bloco de código |
---|
#INCLUDE "TOTVS.CH"
User Function M486EJSON()
Local cJson := PARAMIXB[1]
Local oJson := JsonObject():new()
Local ret := oJson:fromJson(cJson)
If ValType(ret) == "U"
Conout("JsonObject creado con éxito.")
Else
Conout("Falla al crear el JsonObject. Error: " + ret)
Endif
//Ejemplos de actualización de propiedades.
oJson['id'] := "A123456789" //Id del comprobante
oJson['documentNumber'] := "123456789" //Número de documento de identidad.
oJson['externalIdInvoice'] := "Id del documento original"
oJson['emailNotification'] := "Correo para envio de xml/pdf"
cJson := oJson:toJson()
Return cJson |
La información retornada en la variable cJson deberá contener la información que será transmitida.
En caso de ser necesario es posible cambiar los endpoint por medio del punto de entrada. Ejemplo de uso: Bloco de código |
---|
#INCLUDE "TOTVS.CH"
User Function M486PEURL()
Local cUrl := ""
Local cUrlType := PARAMIXB[1]
Do Case
Case AllTrim(cUrlType) $ "authenticate"
cUrl := "/gateway/api/authenticate"
Case AllTrim(cUrlType) $ "Compra-venta"
cUrl := "/msinvoice/api/integrations/create-invoice/buy-and-sell"
Case AllTrim(cUrlType) $ "Credito-debito"
cUrl := "/msinvoice/api/integrations/create-debit-credit"
Case AllTrim(cUrlType) $ "ICE"
cUrl := "/msinvoice/api/integrations/create-invoice/product-reached-by-ice"
Case AllTrim(cUrlType) $ "Archivo-Pdf"
cUrl := "/msinvoice/api/integrations/by-external-id/"
Case AllTrim(cUrlType) $ "Archivo-Xml"
cUrl := "/msinvoice/api/integrations/by-external-id/"
Case AllTrim(cUrlType) $ "Cancelacion"
cUrl := "/msinvoice/api/integrations/cancel"
Case AllTrim(cUrlType) $ "Cancelacion-credito-debito"
cUrl := "/msinvoice/api/integrations/cancel-create-debit"
Case AllTrim(cUrlType) $ "Status"
cUrl := "/msinvoice/api/integrations/invoice-status"
EndCase
Return cUrl |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | paso17 |
---|
| Facturas. Bloco de código |
---|
{
"branchId": MV_NUMSUC,
"cardNumber": F2_IDRGS, Si F2_MODCONS = "2"
"customerCode": A1_COD,
"details": [
{
"concept": B1_DESC, Donde B1_COD = D2_COD
"discountAmount": D2_DESCON,
"productCode": D2_COD,
"quantity": D2_QUANT,
"sequence": D2_ITEM,
"subtotal": D2_TOTAL, Si D2_DESCON > 0 se suma
"unitPrice": D2_TOTAL / D2_QUANT
}
],
"documentComplement": A1_CLDOCID, Si A1_CLDOCID está informado.
"documentNumber": A1_CGC,
"documentTypeCode": A1_TIPDOC,
"emailNotification": A1_EMAIL,
"exchangeRate": F2_TXMOEDA, Si SF2->F2_MOEDA <> 1
"extraCustomerAddress": A1_END,
"id": F2_SERIE + F2_DOC,
"invoiceNumber": F2_DOC,
"name": A1_NOME,
"paymentMethodType": F2_MODCONS
} |
Crédito. Bloco de código |
---|
{
"branchId": MV_NUMSUC,
"creditDebitNoteNumber": F1_DOC,
"customerCode": A1_COD,
"details": [
{
"concept": B1_DESC, Donde B1_COD = D2_COD
"detailTransaction": "ORIGINAL",
"discountAmount": D2_DESCON, De la factura original
"productCode": D2_COD, De la factura original
"quantity": D2_QUANT, De la factura original
"subtotal": D2_TOTAL, De la factura original, Si D2_DESCON > 0 se suma
"unitPrice": D2_TOTAL / D2_QUANT De la factura original
},
{
"concept": B1_DESC, Donde B1_COD = D2_COD
"detailTransaction": "RETURNED",
"discountAmount": D1_VALDESC,
"productCode": D1_COD,
"quantity": D1_QUANT,
"subtotal": D1_TOTAL, Si D1_VALDESC > 0 se suma
"unitPrice": D1_TOTAL / D1_QUANT
}
],
"documentComplement": A1_CLDOCID, Si A1_CLDOCID está informado.
"documentNumber": A1_CGC,
"documentTypeCode": A1_TIPDOC,
"emailNotification": A1_EMAIL,
"extraCustomerAddress": A1_END,
"id": F2_SERIE + F2_DOC, De la factura original
"invoiceControlCode": F2_NUMAUT, De la factura original
"invoiceEmissionDate": F2_FECHTIM + "T" + F2_HORATRIM, De la factura original
"invoiceNumber": F2_DOC, De la factura original
"name": A1_NOME,
} |
Débito. Bloco de código |
---|
{
"branchId": MV_NUMSUC,
"creditDebitNoteNumber": F2_DOC,
"customerCode": A1_COD,
"details": [
{
"concept": B1_DESC, Donde B1_COD = D2_COD
"detailTransaction": "ORIGINAL",
"discountAmount": D2_DESCON, De la factura original
"productCode": D2_COD, De la factura original
"quantity": D2_QUANT, De la factura original
"subtotal": D2_TOTAL, De la factura original, Si D2_DESCON > 0 se suma
"unitPrice": D2_TOTAL / D2_QUANT De la factura original
},
{
"concept": B1_DESC, Donde B1_COD = D2_COD
"detailTransaction": "RETURNED",
"discountAmount": D2_DESCON,
"productCode": D2_COD,
"quantity": D2_QUANT,
"subtotal": D2_TOTAL, Si D2_DESCON > 0 se suma
"unitPrice": D2_TOTAL / D2_QUANT
}
],
"documentComplement": A1_CLDOCID, Si A1_CLDOCID está informado.
"documentNumber": A1_CGC,
"documentTypeCode": A1_TIPDOC,
"emailNotification": A1_EMAIL,
"extraCustomerAddress": A1_END,
"id": F2_SERIE + F2_DOC, De la factura original
"invoiceControlCode": F2_NUMAUT, De la factura original
"invoiceEmissionDate": F2_FECHTIM + "T" + F2_HORATRIM, De la factura original
"invoiceNumber": F2_DOC, De la factura original
"name": A1_NOME,
} |
ICE Bloco de código |
---|
{
"branchId": MV_NUMSUC,
"cardNumber": F2_IDRGS, Si F2_MODCONS = "2"
"customerCode": A1_COD,
"details": [
{
"quantityIce": D2_QTSEGUM,
"aliquotSpecify": alicuota especifica de ICE,
"aliquotPercentage": % de alicuota de ICE,
"markIce": 1 si tiene calculo de ICE, 2 si no tiene calculo de ICE ,
"concept": B1_DESC, Donde B1_COD = D2_COD
"discountAmount": D2_DESCON,
"productCode": D2_COD,
"quantity": D2_QUANT,
"sequence": D2_ITEM,
"subtotal": D2_TOTAL, Si D2_DESCON > 0 se suma
"unitPrice": D2_TOTAL / D2_QUANT
}
],
"documentComplement": A1_CLDOCID, Si A1_CLDOCID está informado.
"documentNumber": A1_CGC,
"documentTypeCode": A1_TIPDOC,
"emailNotification": A1_EMAIL,
"exchangeRate": F2_TXMOEDA, Si SF2->F2_MOEDA <> 1
"extraCustomerAddress": A1_END,
"id": F2_SERIE + F2_DOC,
"invoiceNumber": F2_DOC,
"name": A1_NOME,
"paymentMethodType": F2_MODCONS
} |
Exportación Bloco de código |
---|
{
"branchId": MV_NUMSUC,
"cardNumber": F2_IDRGS, Si F2_MODCONS = "2"
"customerCode": A1_COD,
"details": [
{
"concept": B1_DESC, Donde B1_COD = D2_COD
"productCode": D2_COD,
"quantity": D2_QUANT,
"sequence": D2_ITEM,
"subtotal": D2_TOTAL
"unitPrice": D2_TOTAL / D2_QUANT
}
],
"documentComplement": A1_CLDOCID, Si A1_CLDOCID está informado.
"documentNumber": A1_CGC,
"documentTypeCode": A1_TIPDOC,
"emailNotification": A1_EMAIL,
"exchangeRate": F2_TXMOEDA, Si SF2->F2_MOEDA <> 1
"extraCustomerAddress": A1_END,
"id": F2_SERIE + F2_DOC,
"invoiceNumber": F2_DOC,
"name": A1_NOME,
"paymentMethodType": F2_MODCONS,
"countryCode": YA_CODERP, Donde F2_PAISENT = YA_CODGI
"destinationPlace": F2_DESTPLA,
"destinationPort": F2_DESTPOR,
"incoterm": F2_INCOTER,
"incotermDetail": YJ_DESCR, Donde F2_INCOTER = YJ_COD
} |
Cancelación Bloco de código |
---|
{
"cuf": F2_NUMAUT,
"reason": Descripción de la cancelación
} |
|
|