# Consideraciones

### **Descripción de la Implementación de Facturación en Adviser**

Actualmente, hemos implementado una funcionalidad para la facturación que va más allá de simplemente tener un comando de ejecución por consola. Se ha integrado un botón directamente en la vista de facturas en el proyecto de Adviser. Es importante destacar que esta acción solo está disponible para roles específicos que cuentan con permisos para acceder a este módulo y ejecutar esta función. Entre estos roles se incluyen el tesorero, el director de operaciones, el responsable financiero y los superusuarios, entre otros perfiles autorizados. Esta medida garantiza un control riguroso y restringido sobre las operaciones de facturación, limitando su acceso solo a aquellos usuarios con las responsabilidades y la autorización adecuadas dentro del sistema.

***

### **Restricciones Temporales**

Además de lo mencionado anteriormente, es crucial tener en cuenta que esta acción solo se puede realizar una única vez por ciclo. El botón para ejecutar la acción se habilita únicamente después del día 2 de cada mes y permanece desactivado durante el resto del mes una vez que ha sido ejecutado. Este enfoque asegura un control preciso sobre la ejecución de la acción de facturación, limitando su disponibilidad a un momento específico del mes y evitando ejecuciones múltiples que podrían causar discrepancias o conflictos en el sistema.

***

### **Ubicación del Botón de Facturación**

El botón de facturación está ubicado en la vista de facturas. Este botón es visible solo para los usuarios con los permisos adecuados y se habilita según las restricciones temporales mencionadas.

***

### **Consideraciones Antes de Facturar**

Antes de ejecutar el proceso de facturación se debe asegurar que las facturas que ya están en el sistema tengan el valor correspondiente. Es necesario verificar que no haya ninguna pendiente para pago, ya que eso indicaría que es probable que no se haya pagado. En caso de que se quiera generar otro acumulado para la misma factura porque se realizará el pago en este nuevo corte, también debe ser considerado.

Se debe asegurar que los valores de pago del member report estén como se espera, y que esté al día con respecto a los affiliates del mes justo anterior.

No está demás decir que independientemente de todo es mejor montar en el sistema de pruebas la base de datos más reciente que se tenga de la base de datos default y ejecutar la facturación en ese ambiente de pruebas y revisar si los totales generados están acorde a los datos del member report del mes pasado, tanto sus totales como sus accum como los de referidos.

Es necesario prestar especial atención a los pagos de referidos, ya que la última vez presentó problemas.

***

### **Variables de los Withdrawal**

Los datos de facturación poseen datos de control, datos de trazabilidad y muchos otros, sin embargo, se describirán los datos más relevantes de la facturación y el comando.

***

### **Monedas Soportadas para Pago de CPA**

Las monedas que se tienen para pago de CPA son:

* COP
* CAD
* USD
* EUR
* MXN
* GBP
* BGN
* PEN
* BRL
* ZAR

NOTA: Varias de las columnas de facturación se tienen una por cada moneda que se soporta. En los nombres de columnas que tengan el valor $$$ implica que existe una columna por cada currency de las mencionadas.

***

### **Tabla Withdrawal Partner Money**

Esta tabla contiene la sumatoria de todos los accum de la factura. Cada factura tiene un accum por cada mes, es decir, que tiene por lo menos 1 accum.

* **"billed\_from\_at"**: Fecha inicial de la cual corresponde lo facturado (mes inicial).
* **"billed\_to\_at"**: Fecha final de la cual corresponde lo facturado (mes final).
* **"cpa\_count"**: Total de CPAs facturadas en todos los meses facturados en la factura (sumatoria de todos los acumulados relacionados).
* **"bill\_rate"**: Pago que se descuenta al afiliado por impuestos, GMF entre otros gastos que se considere que asume el afiliado de la factura. Este valor si es positivo resta al pago del afiliado.
* **"status"**: Estado de la factura. Indica si está pagada, pendiente a pagar, rechazada, no tiene información.
* **"payment\_at"**: Fecha en la que se realizó el pago. Esta se coloca automáticamente cuando se coloca el estado pagado.
* **"fixed\_income"**: $$Total de dinero a pagar en la moneda$$total dinero a pagar en la factura(de las de pago de CPA) por CPAs que tienen como pago base la moneda correspondiente.
* **"fixed\_income\_usd"**: Total de dinero que se pagaría en USD por CPAs que tienen como pago base (SIN incluir USD) convertidos SIN la reducción de porcentaje de la tasa FX con la tasa del día de facturación. Este dato es para ANÁLISIS donde se ilustra la efectividad del porcentaje de reducción.
* **"difference\_fixed\_income\_usd"**: Diferencia de tasa FX del día de facturación con respecto a la tasa FX del mes anterior para las conversiones de (SIN incluir USD) a USD.
* **"gross\_fixed\_income\_usd**": $$\_usd\*\*: Pago en bruto por CPAs de la conversión con la tasa FX del mes anterior y con el porcentaje de tasa FX de$$Pago en bruto por CPAs de la conversión con la tasa FX del mes anterior y con el porcentaje de tasa FX de (SIN incluir USD) a USD de la data a facturar (mes justo anterior al facturar).
* **"fixed\_income\_local"**: Total de pago por CPAs para el afiliado en bruto donde las conversiones son las tasas FX del mes facturado. Esto es equivalente a sumar todos los gross\_fixed\_income\_$$$\_usd y fixed\_income\_usd.
* **"fixed\_income\_referred"**: Pago que recibirá el referidor relacionado al afiliado de la presente factura siendo un porcentaje de pago de las CPAs que recibe el afiliado de la factura.
* **"fixed\_income\_referred"**: Base del total de dinero a pagar al afiliado referidor (siendo el mismo afiliadode la factura) en la moneda por CPAs del porcentaje que recibe de sus referidos que tienen como pago base la moneda correspondiente.
* **"fixed\_income\_referred\_usd"**: Total de dinero a pagar al afiliado referidor (siendo el mismo afiliado de la factura) en USD a razón de un porcentaje del pago por CPAs que han recibido sus referidos y tienen como pago base$$\_usd: Total de dinero a pagar al partner referidor (siendo el mismo partner de la factura) en USD a razón de un porcentaje del pago por CPAs que han recibido sus referidos y tienen como pago base$$(SIN incluir USD) convertidos SIN la reducción de porcentaje de la tasa FX del día de facturación. Este dato es para ANÁLISIS donde se ilustra la efectividad del porcentaje de reducción.
* **"gross\_fixed\_income\_referred\_usd"**: Pago en bruto por CPAs de la conversión con la tasa FX del mes anterior y con el porcentaje de tasa FX de (SIN incluir USD) a USD de la data a facturar (mes justo anterior al facturar).
* **"fixed\_income\_referred\_local"**: Total de pago para el afiliado referidor (siendo el mismo afiliado de la factura) a razón de un porcentaje del pago por CPAs que han recibido sus referidos y tienen como pago base (SIN incluir USD) en bruto con la conversión de tasa FX del mes facturado y con el porcentaje de reducción. Esto es equivalente a sumar todos los gross\_fixed\_income\_referred\_usd y fixed\_income\_referred\_usd.
* **"fixed\_income\_referred\_percentage"**: Porcentaje de pago que recibirá el afiliado referidor del afiliado de la factura, en función del pago de CPA que obtiene el afiliado de la factura.
* **"net\_revenue\_referred"**: Pago que recibirá el referidor relacionado al afiliado de la presente factura siendo un porcentaje de la net revenue generada por los apostadores que se han registrado con los enlaces del afiliado de la factura. ESTA VARIABLE NO TIENE EL USO PRETENDIDO, REVISAR EL COMANDO DE FACTURACIÓN.
* **"net\_revenue\_referred\_local"**: Total de pago por un porcentaje de la net revenue generada de los apostadores que han registrado con los enlaces del afiliado en bruto donde las conversiones son las tasas FX del mes facturado. ESTA VARIABLE NO SE ESTÁ USANDO YA QUE NO HAY REFERIDOR CON PAGO DE NETREVENUE Y EN CASO DE QUE LLEGASE A HABER LA FACTURACIÓN LE FALTAN VARIABLES DE SEGUIMIENTO Y CONTROL (VARIABLES DE LAS DIFERENTES TRANSACCIONES DE MONEDA).
* **"net\_revenue\_referred\_percentage"**: Porcentaje de net revenue generada por los apostadores registrados por el afiliado de la factura que recibirá como pago el referidor del afiliado de la factura.

{% hint style="info" %}
NOTA: Aunque en el modelo de member report está contemplado el pago por net revenue, en el modelo de factura no está lo suficientemente detallado. Por lo que cuando se empiece a hacer este pago bajo net revenue por referidos debería modificarse el modelo para permitir el detalle.
{% endhint %}

***

### **Estado de Facturas**

El estado de la factura está en la tabla de withdrawal\_partner\_money en la columna **status**.

* **NOT\_READY**: No cumple con la condición.
* **TO\_PAY**: Listo para pagar.
* **PAID**: Pagado.
* **REJECTED**: Rechazado, el pago no se efectuó y no se tiene en cuenta para siguientes facturaciones.
* **NO\_INFO**: La factura no tiene para realizar el pago así como información básica o método bancario.

***

### **Consideraciones Adicionales**

* Las facturas tienen múltiples variables de control en las diferentes monedas, el comando debe ser revisado con mucho detenimiento.
* Como se ha mencionado antes, si se quiere colocar pago basado en la net revenue debe modificarse el comando de facturación con mucho cuidado.
* Antes de cada facturación, lo más recomendable es siempre revisar con mucho detalle los member report y siempre ejecutar en un ambiente de pruebas con una copia reciente de la base de datos.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-affiliates.inlaze.com/reportes/facturacion/consideraciones.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
